Fix Outlook VBA Sending Email to Only the First Recipient
Question details
The user needs to resolve an issue where an automated email generated via Access VBA using Outlook objects is only being delivered to the first recipient in a semicolon-separated list.

- Product
- Microsoft Outlook
- Device & OS
- not provided
- Scenario
- Automating email sending to multiple recipients using Access VBA and Outlook objects.
- Observed behavior
- The email is only delivered to the first address in the 'To' property list, ignoring the remaining semicolon-separated addresses.
Check your Sent Items folder in Outlook to confirm exactly which recipients received the message, and review your VBA code to see how the recipient address string is constructed.
Remove the Trailing Semicolon from the Address String
Ensure the concatenated recipient list does not end with a semicolon, as this can cause Outlook to parse the address list incorrectly and drop subsequent recipients.
When constructing a string of email addresses in VBA, looping through records often leaves a trailing semicolon at the end of the final string. Outlook may fail to process the recipients correctly if this trailing delimiter is not removed before assigning the string to the .To property.
In Access, press Alt + F11 to open the VBA Editor and locate the module containing your Outlook email generation code.
Find the variable that stores the semicolon-separated list of email addresses being passed to the Outlook MailItem's .To property.
Add a string manipulation function right before the email is generated to remove the last character if it is a semicolon. For example: If Right(strTo, 1) = ";" Then strTo = Left(strTo, Len(strTo) - 1).
Save your code, trigger the macro again, and check the Sent Items folder in Outlook to verify that all recipients are now listed.

Use the Recipients.Add Method Instead of a String
Instead of concatenating a long string of email addresses, use the Outlook object model to add each recipient individually to ensure proper validation.
Looking for a Lighter, More Efficient Office Suite?
If you are dealing with complex Microsoft Office VBA issues or simply want a smoother productivity experience, consider trying WPS Office. It provides a lightweight, highly compatible, and user-friendly alternative for your daily document, spreadsheet, and presentation needs.
- 1. Download WPS Office: Visit the official WPS website to download the free installation package for your operating system.
- 2. Install and Launch: Run the installer and follow the on-screen instructions to set up WPS Office on your computer.
- 3. Open Your Files: Open your existing .docx, .xlsx, or .pptx files directly in WPS Office to experience seamless formatting compatibility.

Frequently Asked Questions
Why does Outlook VBA ignore multiple email addresses?
Outlook VBA may ignore subsequent addresses if the string assigned to the '.To' property is improperly formatted, such as containing trailing semicolons, using commas instead of semicolons, or including invalid email address syntax.
How do I correctly format multiple recipients in Outlook VBA?
Multiple recipients should be separated by a semicolon (;) with no trailing semicolon at the very end of the string. Alternatively, use the 'MailItem.Recipients.Add' method for each individual address to ensure proper object validation.
Can I use commas to separate email addresses in Outlook VBA?
No, Microsoft Outlook expects semicolons (;) as the default delimiter for multiple email addresses. Using commas may result in delivery failures or cause Outlook to fail to resolve the addresses correctly.
How can I verify if my VBA script successfully sent the email to all recipients?
The most reliable way is to open the Outlook application and check the 'Sent Items' folder. Open the automated sent message and visually verify the 'To', 'CC', and 'BCC' fields to ensure all intended recipients are listed.




