How To Send Bulk Email From Outlook Using Excel?

Learn the best ways on how to send email from Excel VBA to multiple recipients here.

  1. Download “Send Mass Email from Excel” App.
  2. Enter email address list, subject & message.
  3. Ensure MS Outlook is installed & configured properly.
  4. Click command button “Trigger Emails”.
  5. VBA Macro will send bulk emails to all recipients in the list.

Send Bulk Email From Excel Using Outlook Free Trial Downloaded 2,965 Times

If this send mass email app is working for you, then go to our app store and buy this product to send emails to multiple email addresses without any limitations. This article also has Excel macro guide for sending mass email from Excel to emailing list, which can be used to build your own app.

VBA Send Mass Email From Excel

If you would like to build your own send email from Excel to multiple recipients app with VBA, then you have to first complete these activities.

Collecting Email IDs to send mass email from Excel: If we have a very long list of email addresses, then copy it to Excel and follow the process explained below to automate the process of sending mail. It will take considerable time and effort if someone has to compose separate mails from Outlook and send it to each one manually.

The below step starts with how to design a Email list Excel sheet and then the corresponding VBA code to send bulk email from Excel(send blast email from excel vba to multiple recipients)If you want to send mail by attaching the current active workbook, please use the command “Activeworkook.sendmail” function in your VBA. 

Also Read: Export Outlook eMails To Excel through VBA

Send Email From Excel VBA – Build Mail List First

Use this Excel Tool Design – Cheap Email Blast Service as explained here. Create a New Excel Workbook and Enter the Mail ids, Recipient Name, Mail Content. Once you understand the Macro code provided in this blog, you can customize these fields as per your need.

Send Mass Email using Excel VBA to Multiple Recipients
Send Mass Email from Excel VBA to Multiple Recipients

Excel VBA Send Email To Multiple Recipients

Note: Explanation Video on How To use the Send Emails From Excel App

The below given code will send email from Excel VBA to multiple recipients. It actually uses Outlook object with in Excel & use that object to send mass emails with personalized messages to list of email addresses.

Press Alt + F11. Excel VBA editor will appear. Copy below code and paste it in editor. If you don’t want to try this code, then use the App below with advanced options.

'Send Bulk Email From Excel Using VBA Code
Sub Create_Email_From_Excel()
    ‘Below Loop can be changed to While Loop or increase the limit (10) if your list has more than 10 mail ids
    Dim SendTo As String
    Dim ToMSg As String

    For i = 1 To 10
        SendTo = ThisWorkbook.Sheets(1).Cells(i, 1)
        If SendTo <> “” Then
            ToMSg = ThisWorkbook.Sheets(1).Cells(i, 3)
            Send_Mail_From_Excel SendTo, ToMSg
        End If
    Next i
End Sub
Sub Send_Mail_From_Excel(SendTo As String, ToMSg As String)
    Dim OutlookApp As Object
    Dim OutlookMail As Object

    Set OutlookApp = CreateObject(“Outlook.Application”)
    Set OutlookMail = OutlookApp.CreateItem(0)

    'Send Mass Email Using Excel VBA Macro Code
    With OutlookMail
        .to = SendTo
        .CC = ""
        .BCC = ""
        .Subject = “Happy New Year”
        .Body = ToMSg
        .Display ‘ or just put .Send to directly send the mail instead of display
    End With

    Set OutlookMail = Nothing
    Set OutlookApp = Nothing
End Sub

Press F5 to execute the code. Alternatively, a Command Button can be added to excel sheet to run this code. Once the code is executed it will loop through each Id in Email address list, Mail Subject and Mail content and then It will compose a mail and send it for you.

This is how you can build a best free email blast software on your own that can send Email to Multiple recipients.

Send Email From Excel VBA To Multiple Recipients Downloaded 2,965 Times

Also Read: VBA To Send Mass Email from Outlook

Sending Mass Email Using Mail Merge

Apart from this Excel code, Microsoft has provided a built-in function in MS WORD to send Mass Email to a huge Email list with the option named as “Mail Merge”. Search in this website for this term and learn more about it. Mail Merge option does not require any VBA code to send Emails. It just need Mailing list and a Email Template.


  • MS Outlook should be running in your system to execute the above code successfully, so that it can send bulk email from Excel.
  • And also, To have proper formatting of eMail Content and Signature, search for HTMLBody and how to insert HTML in your mail.

How Useful is this VBA Macro to Send Email From Excel using Outlook?

The Excel VBA code in this article can be used in places where we have to send emails to a list of recipients or a large audience like

  • Marketing emails,
  • Special offers to Customers,
  • Greeting Messages to Friends,
  • Official notification or Circular to Colleagues or Students,
  • Organization Level announcements to employees etc.,

Email subject & message can be personalized for each recipient using this method. Lets see how to create an App on our own to send mass email from Excel & learn how it has wide range of usage across different industry.

12 thoughts on “Send Mass Email from Excel VBA 1.3 – Multiple Recipients – In Outlook”

  1. Hi Kumar,

    i need your expert advise.

    i have modified the code and assigned the macro to the button.

    Now i want the macro to take row number as input after i click on the button.So that the macro sends email based on the row numbers entered. The catch is that it should take multiple row number as input and multiple email should be send.

    How can i achieve this?

    Please advise.


    1. Getting multiple input after Send button click is not that feasible. May be try this.

      I guess, all you need is a send to selective people only. So, type in Column “D” as “SendMail” for the mail ids that you want to send. and then replace the loop in my above code with the below one.

      For i = 1 To 10
      SendTo = ThisWorkbook.Sheets(1).Cells(i, 1)
      If SendTo “” and VBA.UCase(ThisWorkbook.Sheets(1).Cells(i, 4)) = “SENDMAIL” Then
      ToMSg = ThisWorkbook.Sheets(1).Cells(i, 3)
      Send_Mail SendTo, ToMSg
      End If
      Next i

      The above code checks in column ‘D’ whether it has “SendMail” text. If it founds then it will send. If it is blank, then it will skip that email id. Let me know if this works out for you.

    1. Check this steps.
      1. What is the version of Outlook & Excel installed in your system. (is both are different versions or very older versions).
      2. Open Outlook App and then test this code in Excel.

      If nothing works out, then give a Teamviewer access to debug the issue.

Leave a Reply