How to send email to email addresses specified in cells in Excel?
Supposing you have a list of email addresses, and now, you want to send email message to these email addresses in bulk directly in Excel. How to achieve it? This article will show you methods of sending email to multiple email addresses which specified in cells in Excel.
Recommended Productivity Tools for Excel
Office Tab: Bring powerful tabs to Office (include Excel), just like Chrome, Safari, Firefox and Internet Explorer. Save you half the time, and reduce thousands of mouse clicks for you. 30-day Unlimited Free Trial
Kutools for Excel: Save 71% of your time and solve 82% Excel problems for you. 300+ advanced tools designed for 1500+ work scenario, make Excel much easy and increase productivity immediately.60-day Unlimited Free Trial
The following VBA code can help you sending emails to the specified email addresses in Excel. Please do as follow.
1. In the worksheet contains the email addresses you need to send emails to, press the Alt + F11 keys simultaneously to open the Microsoft Visual Basic for Applications window.
2. In the opening Microsoft Visual Basic for Applications window, please click Tools > References as below screenshot shown.
3. In the References – VBAProject dialog box, please find and check the Microsoft Outlook Object Library option, and then click the OK button.
4. Then click Insert > Module. Then copy and paste the below VBA code into the Module window.
VBA code: Send email to email addresses specified in cells in Excel
Sub SendEmailToAddressInCells() Dim xRg As Range Dim xRgEach As Range Dim xRgVal As String Dim xAddress As String Dim xOutApp As Outlook.Application Dim xMailOut As Outlook.MailItem On Error Resume Next xAddress = ActiveWindow.RangeSelection.Address Set xRg = Application.InputBox("Please select email address range", "KuTools For Excel", xAddress, , , , , 8) If xRg Is Nothing Then Exit Sub Application.ScreenUpdating = False Set xOutApp = CreateObject("Outlook.Application") Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues) For Each xRgEach In xRg xRgVal = xRgEach.Value If xRgVal Like "?*@?*.?*" Then Set xMailOut = xOutApp.CreateItem(olMailItem) With xMailOut .To = xRgVal .Subject = "Test" .Body = "Dear " _ & vbNewLine & vbNewLine & _ "This is a test email " & _ "sending in Excel" .Display '.Send End With End If Next Set xMailOut = Nothing Set xOutApp = Nothing Application.ScreenUpdating = True End Sub
Note: Please specify your email subject and body in both .Subject = "test" and .Body = "Dear " _ & vbNewLine & vbNewLine & _ "This is a test email " & _ "sending in Excel" lines in the code.
5. Press the F5 key to run the code. In the opening Kutools for Excel dialog box, please select the range which contains the email addresses you will send emails to, and then click the OK button. See screenshot:
Then emails based on selected email addresses are created as below screenshot shown. Please click the Send buttons to send these emails.
1. If there are three email addresses separately existing in selected cells, three email messages will be created.
2. The VBA code is only working when you use Outlook as your email program.
This section will recommend you the Send Emails utility of Kutools for Excel. With this utility, you can easily send emails to email addresses which specified in cells in Excel. Please do as follows.
1. Select the email addresses with the header cell in your worksheet, then click Enterprise > Send Emails. See screenshot:
2. In the popping up Send Emails dialog box, please do the following configurations:
2.1) Select the header of the email address list in the To drop-down list;
2.2) Enter the email subject in the Subject box;
2.3) Composing your email body;
2.4) Check the Send emails via Outlook box;
2.5) Click the Send button. See screenshot:
3. Then a Kutools for Excel dialog box pops up to tell you how many emails have been sent. Please click the OK button and close the Send Emails dialog box. See screenshot:
1. You can go to the Outlook’s Sent Items folder to check for the sending emails.
2. You can also use another server by clicking Outgoing Server Settings to set the sending mode to your own.
Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 60 days. Download the free trial now!
- How to send email with copying and pasting a specified range into email body in Excel?
- How to send email with multiple attachments attached in Excel?
- How to insert signature into Outlook email when sending by vba in Excel?
- How to send email if due date has been met in Excel?
- How to automatically send email based on cell value in Excel?