logo
search
Send & Receive Issues

Fix Outlook VBA Sending Email to Only the First Recipient

Emma BrownEmma Brown Oct 10, 2026 869 views

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.

Fix Outlook VBA Sending Email to Only the First Recipient
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.
Before you start

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.

Solution 1Recommended

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.

1
Open the VBA Editor

In Access, press Alt + F11 to open the VBA Editor and locate the module containing your Outlook email generation code.

2
Locate the String Variable

Find the variable that stores the semicolon-separated list of email addresses being passed to the Outlook MailItem's .To property.

3
Trim the Trailing Semicolon

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).

4
Run and Verify

Save your code, trigger the macro again, and check the Sent Items folder in Outlook to verify that all recipients are now listed.

Remove the Trailing Semicolon from the Address String
Format Check: Always ensure that the addresses are separated strictly by semicolons (;) and not commas, as commas can also cause delivery failures in Outlook VBA.
Free Microsoft Office alternative

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. 1. Download WPS Office: Visit the official WPS website to download the free installation package for your operating system.
  2. 2. Install and Launch: Run the installer and follow the on-screen instructions to set up WPS Office on your computer.
  3. 3. Open Your Files: Open your existing .docx, .xlsx, or .pptx files directly in WPS Office to experience seamless formatting compatibility.
Fully compatible with Microsoft Word, Excel, and PowerPoint file formats.Built-in lightweight PDF editor and advanced document management tools.Clean, intuitive tabbed interface that requires no learning curve.Free to use with comprehensive multi-platform support across Windows, Mac, and mobile.
microsoft office alternative - wps office

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.