Using Excel to email worksheets and workbooks has been one of the best functions I have found Excel useful for. It’s enabled me to create all sorts of automated processes such as creating and sending dashboards and KPIs, as well as emailing parsed out data meant for a certain supplier.

This block of VBA code is easy to use, easy to understand – and extremely effective.

Sub EmailSheet()
'This sub procedure will email a section of a worksheet
'Written by JamesCanCode

Declare Variables
Dim OutApp As Object
Dim OutMail As Object

Set Variables
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

'The selection below here is what you plan to send
'So change this accordingly

ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope = "" 'Change this
        .item.Subject = "Purchase Summary Report" 'Change this
    End With


Application.Wait (Now + TimeValue("0:00:05"))

Set OutMail = Nothing
Set OutApp = Nothing


End Sub

It’s that simple!