If you find some contacts have no email address in your Outlook, you may want to process each Contact folder to delete all such contacts. This post will share 2 means with you.
Perhaps you have many contacts in your Outlook and some of them do not have email address. If you think that they are no longer useful, you must hope to delete all the contacts without email address. In the standard way, you can use “Instant Search” to find them and then delete them manually, like the following Method 1. Yet, it is a bit tedious. Therefore, in the Method 2, we will teach you another more efficient way.
Method 1: Manually Delete after Finding Contacts without Email Address
- For a start, press “Ctrl + 3” keys to access “Contacts” pane.
- Then, click in the search box.
- Next, in the emerging “Search” ribbon, click “All Contact Items”.
- Subsequently, click “Has Address” > “Has Email Address”.
- After that, “NOT emailaddresses:=” criterion will be added into the search box. You need to remove the “NOT”.
- Subsequently, all the contacts with no email address will be listed.
- Now, you should select contacts in the search results manually in that your contact groups must be in the list as well.
- Finally, press “Del” key button to delete all of the selected contacts.
Method 2: Batch Delete All Contacts without Email Address with VBA
- At first, tap on “Alt + F11” to launch VBA editor in Outlook.
- In the new screen, copy the following VBA code into a module.
Sub BatchDeleteAllContactsWithoutEmailAddress() Dim objStore As Outlook.Store Dim lTotalCount As Long lTotalCount = 0 'Process all stores in your Outlook For Each objStore In Application.Session.Stores Call ProcessContactFolders(objStore.GetRootFolder.Folders, lTotalCount) Next MsgBox lTotalCount & " contacts are deleted!", vbInformation + vbOKOnly, "Delete Contacts" End Sub Sub ProcessContactFolders(ByVal objFolders As Outlook.Folders, lCount As Long) Dim objFolder As Outlook.Folder Dim i As Long Dim objContact As Outlook.ContactItem Dim objSubfolder As Outlook.Folder For Each objFolder In objFolders If (objFolder.DefaultItemType = olContactItem) And (objFolder.Name <> "Skype Contacts") Then For i = objFolder.Items.Count To 1 Step -1 If objFolder.Items(i).Class = olContact Then Set objContact = objFolder.Items(i) 'Delete the contact w/o email address If (objContact.Email1Address = "") And (objContact.Email2Address = "") And (objContact.Email3Address = "") Then objContact.Delete lCount = lCount + 1 End If End If Next 'Process subfolders recursively If objFolder.Folders.Count > 0 Then Call ProcessContactFolders(objFolder.Folders, lCount) End If End If Next End Sub
- Later, click in “BatchDeleteAllContactsWithoutEmailAddress” subroutine.
- Eventually, press “F5” to trigger this macro.
- When it completes, you would get a message about the results, like the image below.
- All the contacts without email address have been moved to “Deleted Items” folder.
Keep Far Away from All Potential Risks
Outlook can get damaged due to a variety of factors, such as viruses, user errors, software failures as well as hardware faults. You must be reluctant to experience Outlook damage, so you need to keep all these potential risks at bay. For instance, you need to mount potent antivirus software on your PC. Plus, you have to back up your Outlook data on a regular basis. Last but not least, you’d better prepare a robust and reliable repair tool, such as DataNumen Outlook Repair. It can fix your corrupt PST file with ease.
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including SQL Server corruption and outlook repair software products. For more information visit www.datanumen.com