How to Quickly Find All Contacts Not Belonging to Any Contact Groups in Your Outlook

Some users would like to find all the contacts that don’t belong to any contact groups. This article will focus on this requirement to provide a quick method for it.

In my previous article “How to Quickly Find All the Contact Groups Containing a Specific Contact with Outlook VBA“, you can easily find the contact groups which a specific contact belongs to. Similar to it, at times, you may want to find out the contacts which are not in any existing contact groups. To get it, you still have to use a bit of scripting. Now, here we will expose the way to you.

Find All Contacts Not Belonging to Any Contact Groups

  1. At the very outset, start Outlook application.
  2. Then, trigger Outlook VBA editor according to “How to Run VBA Code in Your Outlook“.
  3. Next, in the new window, put the following code into a project or module.
Sub FindContacts_NotBelongToAnyGroups()
    Dim objContactsFolder As Outlook.Folder
    Dim i, n, x As Long
    Dim objContact As Outlook.ContactItem
    Dim objContactGroup As Outlook.DistListItem
    Dim objGroupMember As Outlook.Recipient
    'Works in the default Contacts folder
    Set objContactsFolder = Outlook.Application.Session.GetDefaultFolder(olFolderContacts)
    For i = objContactsFolder.Items.Count To 1 Step -1
        If TypeOf objContactsFolder.Items(i) Is ContactItem Then
           Set objContact = objContactsFolder.Items(i)
           objContact.User4 = ""
           For n = objContactsFolder.Items.Count To 1 Step -1
               If TypeOf objContactsFolder.Items(n) Is DistListItem Then
                  Set objContactGroup = objContactsFolder.Items(n)
                  For x = 1 To objContactGroup.MemberCount
                      Set objGroupMember = objContactGroup.GetMember(x)
                      If objGroupMember.Address = objContact.Email1Address Or objGroupMember.Address = objContact.Email2Address Or objGroupMember.Address = objContact.Email3Address Then
                         objContact.User4 = "In Group: Yes"
                      End If
               End If
       End If
End Sub

VBA Code - Find All Contacts Not Belonging to Any Contact Groups

Note: Here code works only in the default Contacts folder. In this case, you should ensure that both the contacts and the contact groups are in this folder.

  1. Subsequently, press “F5” key button to run this macro.
  2. After that, exit the VBA editor and open the default Contacts folder.
  3. Next, press “Ctrl + E” or click into the search box above the contact list.
  4. In the arisen “Search” ribbon, click “Search Tools” > “Advanced Find” button.Advanced Find
  5. Then, in the newly popup dialog box, launch the searching.
  • First off, switch to “Advanced” tab.
  • Then, click “Fields” button and select “All Contact fields” > “User Field 4”.
  • Later, select “is empty” in the “Condition” box.
  • Next, click “Add to List” button.
  • Then, use the same way to add another search filter: “Message Class” > “contains” > “Contact”.Add Search Filters
  • Afterwards, click “Find Now” button on the right side.
  • At once, all the contacts that don’t belong to any groups will be listed below, as shown in the following figure.Found Contacts in List

Resort to External Repair Tool

Although Outlook is pre-installed with an inbox repair tool – Scanpst, you should not rely on it totally. It’s because that it will not make effects in case of the serious Outlook data corruption. At that time, you have two alternatives. One is to take aid of experienced external Outlook recovery software, like DataNumen Outlook Repair. The other one is to contact professionals for help. You can make choice as per your own case and liking.

Author Introduction:

Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including corrupt SQL Server and outlook repair software products. For more information visit

Leave a Reply

Your email address will not be published. Required fields are marked *