Outlook software in Microsoft 365 (Office 365) has an option to dismiss reminders on past appointments. Enable it in File > Options > Advanced > Automatically dismiss reminders for past calendar events.
The first macro is for those Outlook users who use Outlook's calendar as a journal and create appointments in the past. If you don't set the reminder to none, it will fire as soon as you create the appointment.
The second macro is for anyone who needs to remove reminders from old appointments.
We put appointments on the calendar that are in the past for record-keeping purposes. How can I stop the reminders for these appointments and keep reminders for future appointments?
To test, click in the Application_Startup macro and click the Run button.
Private WithEvents Items As Outlook.Items Private Sub Application_Startup() Dim Ns As Outlook.NameSpace Set Ns = Application.GetNamespace("MAPI") Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items End Sub Private Sub Items_ItemAdd(ByVal Item As Object) On Error Resume Next Dim Appt As Outlook.AppointmentItem If TypeOf Item Is Outlook.AppointmentItem And Item.Start < Now() Then Set Appt = Item Appt.ReminderSet = False Appt.Save End If End Sub
Remove reminders on existing appointments
To remove reminders from existing appointments, use this VBA code. The reminders are removed from all appointments in the default calendar folder that have a start time prior to "now".
Public Sub RemoveReminder() Dim Ns As Outlook.NameSpace Dim Appt As Object Set Ns = Application.GetNamespace("MAPI") Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items For Each Appt In Items On Error Resume Next If Appt.Start < Now() Then Appt.ReminderSet = False Appt.Save End If Next Set App = Nothing Set Ns = Nothing End Sub
This code is based on the VBA code at How to Remove Reminders on All Day Events