Sometimesyou may forget marking tasks completesuch that there may be many overdue tasks in your Outlook Tasks folder. In this caseyou can use either way introduced in this article to batch mark all overdue tasks complete in one go.
As you can seeonce a task becomes overdueit will be shown in red colorwhich is quite striking. Howevermost of timewhy there are so many overdue tasks in your Outlook is that you forget marking them complete. Thereforeoftenyou may wish to batch mark all such overdue tasks complete. To look at this issuehere we will teach you 2 means.

Method 1: Set View Filters & Mark Complete Manually
- To start withlaunch Outlook and turn to Tasks pane.
- Then open a specific Tasks folder.
- Next switch to “View” tab and hit “View Settings” button.
- In the new popup dialog boxclick “Filter”. This will open a second dialog box.
- Subsequentlyswitch to “Advanced” tab and then add a specific filter – “Due Date on or before Yesterday”like the following image.
- After thatclick a series of “OK” to activate the new view filters and back to main Tasks pane.
- Now you will see that only overdue tasks show in the list. You can click one of them and then press “Ctrl + A” to select all of them.
- Lastlyclick on the “Mark Complete” button under “Home” tab.
By this meansif you have many Tasks folderyou should manually set view filters on each Tasks folder respectively. It will be very tedious. Thereforeit’s suggested to use the following meanswhich will quickly mark all overdue tasks in all Tasks folder complete in bulk.
Method 2: Mark Complete with Outlook VBA
- At the very outsetpress “Alt + F11” key buttons in main Outlook window.
- Then in the Outlook VBA editorcopy and paste the following VBA codes into an empty module window.
Sub BatchMarkAllOverdueTasksComplete()
Dim objStores As Outlook.Stores
Dim objStore As Outlook.Store
Dim objPSTFile As Outlook.Folder
Dim objFolders As Outlook.folders
Dim objFolder As Object
Set objStores = Application.Session.Stores
'Process All PST Files
For Each objStore In objStores
Set objPSTFile = objStore.GetRootFolder
For Each objFolder In objPSTFile.folders
Call ProcessFolders(objFolder)
Next
Next
End Sub
Sub ProcessFolders(ByVal objCurrentFolder As Outlook.Folder)
Dim obTasks As Outlook.Items
Dim objTask As Outlook.TaskItem
Dim objSubfolder As Outlook.Folder
'Find the overdue tasks and mark complete
If objCurrentFolder.DefaultItemType = olTaskItem Then
Set objTasks = objCurrentFolder.Items
For Each objTask In objTasks
If (objTask.DueDate < Date) And (objTask.Complete = False) Then
objTask.MarkComplete
End If
Next
End If
'Process all Task folders recursively
If objCurrentFolder.folders.Count > 0 Then
For Each objSubfolder In objCurrentFolder.folders
Call ProcessFolders(objSubfolder)
Next
End If
End Sub
- After thatyou should ensure Outlook permits macros in macro settings.
- Lastlyyou can have a try. Click into “BatchMarkAllOverdueTasksComplete” subroutine and press F5 key to run it.
- At onceall the overdue tasks in all Tasks folder will be marked complete in batches.
Tips for Avoiding PST Data Loss
Due to the fact that Outlook PST file is prone to error and corruptionit demands you to make great efforts to safeguard your PST data. First of allyou should back up PST file on a regular basiswhich will save you from to repair PST in the event of PST damage. Besidesit is also prudent to prepare a potent fix tool in advancelike DataNumen Outlook Repair.
Author Introduction:
Shirley Zhang is a data recovery expert in DataNumenInc.which is the world leader in data recovery technologiesincluding fix mdf and outlook repair software products. For more information visit www.datanumen.com


