Send Multiple Mails
Templates VBA

Send bulk emails using VBA and Outlook

In this article, we have create an automation for send multiple emails on one click. This automation will send the emails using Microsoft Outlook.

Watch the step by step video tutorial:

You need to fill the below given template to send the multiple email.

  • In column “A”, fill “To” email Id.
  • In column “B”, fill the “CC” email id. You can keep it blank, if you don’t want keep anybody in CC.
  • In the column “C”, put the subject of email.
  • In the column “D”, put the mail body content.
  • Column “E” for attachments, Provide the complete path and file name with file extension.  You can keep it blank, if you don’t want to attach file.
  • Column “F” is for status. This is an auto fill column. You don’t need to fill it. Once automation will sent the email it will filled automatically.

Send Multiple Mails

Below is VBA code which we have assigned on “Click to send mails” button.

Sub Send_Mails()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Send_Mails")
Dim i As Integer

Dim OA As Object
Dim msg As Object

Set OA = CreateObject("outlook.application")

Dim last_row As Integer
last_row = Application.CountA(sh.Range("A:A"))

For i = 2 To last_row
Set msg = OA.createitem(0) = sh.Range("A" & i).Value = sh.Range("B" & i).Value
msg.Subject = sh.Range("C" & i).Value
msg.body = sh.Range("D" & i).Value

If sh.Range("E" & i).Value <> "" Then
msg.attachments.Add sh.Range("E" & i).Value
End If


sh.Range("F" & i).Value = "Sent"

Next i

MsgBox "All the mails have been sent successfully"

End Sub

Click here to download the template file

My Name is PK. I am founder of I am a Microsoft Certified Professional. I have more than 12 years of experience in Data Visualization, Excel Automation and dashboard creation. Excel is my passion and I like to do always something innovative in Excel and share it with other people.