If you add contact groups to the “To” field of the current email, there may be some duplicate ones among them. This article will teach you how to use VBA to quickly remove the duplicate recipients.
When composing an email, if you not only add contacts but also contact groups as recipients, sometimes, there may be some duplicated recipients as the contact groups are collapsed by default. In this case, if you want to find out the duplicate ones, you have to firstly expand the contact groups and then compare recipients manually, which has been introduced elaborately in my previous article– “How to Remove Duplicate Recipients from Your Outlook Emails”. Without any doubts, it’s very tedious. So, many users long for a quick way to remove duplicate recipients. In the followings, we will teach you to get it with Outlook VBA.
Quickly Remove Duplicate Recipients in Your Outlook Email
- In the first place, launch your Outlook application.
- Then switch to “Developer” tab and click on the “Visual Basic” button or just press “Alt + F11” keys.
- Next in the “Microsoft Visual Basic for Applications” window, you could open a blank module.
- Subsequently, copy and paste the following VBA codes into this module.
Sub RemoveDuplicateRecipients() Dim objCurrentMail As MailItem Dim objRecipients As Recipients Dim ContactGroupFound As Boolean Dim i, n As Long Set objCurrentMail = ActiveInspector.CurrentItem ContactGroupFound = True While ContactGroupFound = True Set objRecipients = objCurrentMail.Recipients ContactGroupFound = False 'Expand the contact groups in "To" field For i = objRecipients.Count To 1 Step -1 If objRecipients(i).AddressEntry.DisplayType <> olUser Then For n = 1 To objRecipients(i).AddressEntry.Members.Count If objRecipients(i).AddressEntry.Members.Item(n).DisplayType = olUser Then objCurrentMail.Recipients.Add (objRecipients(i).AddressEntry.Members.Item(n).Address) Else objCurrentMail.Recipients.Add (objRecipients(i).AddressEntry.Members.Item(n).Name) ContactGroupFound = True End If Next objRecipients(i).Delete End If Next i objRecipients.ResolveAll Wend 'Remove the duplicate recipients For i = objRecipients.Count To 1 Step -1 For n = (i - 1) To 1 Step -1 If objRecipients(i).Address = objRecipients(n).Address Then objRecipients(i).Delete Exit For End If Next Next End Sub
- After that, you can add the new VBA project in the Quick Access Toolbar of message window.
- Later you need to set your Outlook macro security level to low.
- Finally you can have a try.
- First, just compose an email as usual.
- Then add contact groups and contacts in “To” field.
- Next you can click the new macro button in Quick Access Toolbar.
- At once, Outlook will automatically expand the contact groups and then remove the duplicate recipients.
Safeguard Your Valuable Outlook Data
As Outlook is prone to crash, your Outlook data is susceptible to corruption. So, you have to make a lot of efforts to protect your Outlook file. First of all, you need to back up your PST file on a regular basis. It will facilitate corrupt PST repair. In addition, you had better prepare a powerful fix tool handy, such as DataNumen Outlook Repair.
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including mdf fix and outlook repair software products. For more information visit www.datanumen.com