When you create or change an appointment in Outlook calendar, Outlook will auto check if there are any conflicting appointments. At this time, if you wish to check the conflicts, you can use the method introduced in this post.
Perhaps you have ever seen the “Conflicts with another appointment” text when creating or altering an Outlook appointment. It’s because that Outlook can auto check the conflicts. However, Outlook cannot help you to find the conflicts quickly by its default features. Thus, here we’ll tell you a method to generate the function to search all conflicting appointments.
Find out All Other Appointments Conflicting with a Specific Appointment
- At the very outset, launch your Outlook program.
- Then, in Outlook main window, press “Alt + F11” key buttons.
- At once, you will access the Outlook VBA editor, in which you need to open an unused module.
- Next, copy the following VBA code into this module.
Sub FindOutConflictingAppointments() Dim objAppointment As AppointmentItem Dim dStartTime, dEndTime As Date Dim strFilter As String Dim objAppointments As Items Dim objFoundAppointments As Items Dim objItem As AppointmentItem Dim i As Long Dim strConflicts As String Dim strMsg As String Select Case Application.ActiveWindow.Class Case olExplorer Set objAppointment = Application.ActiveExplorer.Selection(1) Case olInspector Set objAppointment = Application.ActiveInspector.CurrentItem End Select dStartTime = objAppointment.start dEndTime = objAppointment.End Set objAppointments = Application.ActiveExplorer.CurrentFolder.Items i = 1 '1: Find all appts whose end time within the start and end time of source appt strFilter = "[End] >= " & Chr(34) & Format(dStartTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34) & " AND [End] <= " & Chr(34) & Format(dEndTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34) Set objFoundAppointments = objAppointments.Restrict(strFilter) For Each objItem In objFoundAppointments If objItem.Subject <> objAppointment.Subject Then strConflicts = strConflicts & i & ". " & objItem.Subject & vbCrLf i = i + 1 End If Next '2: Find all appts occurring within the start and end time of source appt strFilter = "[Start] >= " & Chr(34) & Format(dStartTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34) & " AND [End] <= " & Chr(34) & Format(dEndTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34) Set objFoundAppointments = objAppointments.Restrict(strFilter) For Each objItem In objFoundAppointments If objItem.Subject <> objAppointment.Subject Then strConflicts = strConflicts & i & ". " & objItem.Subject & vbCrLf i = i + 1 End If Next '3: Find all appts whose start time within the start and end time of source appt strFilter = "[Start] >= " & Chr(34) & Format(dStartTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34) & " AND [Start] <= " & Chr(34) & Format(dEndTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34) Set objFoundAppointments = objAppointments.Restrict(strFilter) For Each objItem In objFoundAppointments If objItem.Subject <> objAppointment.Subject Then strConflicts = strConflicts & i & ". " & objItem.Subject & vbCrLf i = i + 1 End If Next '4: Find all appts cover the entire source appt strFilter = "[Start] <= " & Chr(34) & Format(dStartTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34) & " AND [End] >= " & Chr(34) & Format(dEndTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34) Set objFoundAppointments = objAppointments.Restrict(strFilter) For Each objItem In objFoundAppointments If objItem.Subject <> objAppointment.Subject Then strConflicts = strConflicts & i & ". " & objItem.Subject & vbCrLf i = i + 1 End If Next strMsg = i - 1 & " Conflicting Appointments:" & vbCrLf & vbCrLf & strConflicts MsgBox strMsg, vbInformation + vbOKOnly, "Check Conflicts" End Sub
- After that, you could exit the current window.
- Then add this macro to Quick Access Toolbar as usual.
- Later you also should insure that macros are enabled in your Outlook. Just go to “Macro Setting” to check it.
- Finally you can have a try.
- Firstly, select or open an appointment, in which there is a “Conflicts with another appointment” prompt.
- Then click on the macro button in Quick Access Toolbar.
- At once, you will get a message that is listing all conflicting appointments, shown as the following screenshot:
Essential Precautions before Outlook Corruption
It is known that Outlook is prone to crash and suffer errors. Thus, it is a matter of necessity to keep well-prepared for Outlook corruption. One of the most essential precautions is the periodic backup. In addition, it’s suggested to prepare a potent specialized Outlook repair tool, like DataNumen Outlook Repair.
Author Introduction:
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including mdf recovery and outlook repair software products. For more information visit www.datanumen.com
I experienced this as well. It produced events that are on different days than the meeting day that the meeting is set to recur.
This located appointments on days other than the recurring meeting in question. Is there an update for Office 16 and beyond?