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.
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.
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.
Before applying Kutools for Excel, please download and install it firstly.
1. Select the email addresses with the header cell in your worksheet, then click Kutools Plus > Send Emails.
2. In the popping up Send Emails dialog box, please do the following configurations:
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:
- 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?