VBA: Send a specific Worksheet not the entire workbook

bamaisgreat

Well-known Member
Joined
Jan 23, 2012
Messages
821
Office Version
  1. 365
Platform
  1. Windows
I have used the code below to Email a copy of a workbook. I would like it to only send a specific worksheet named "JOB FORM". Can this be done. Thanks as always


Code:
 'Sub Mail_Workbook_1()
' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, Outlook 2010.
' This example sends the last saved version of the Activeworkbook object .
    Dim OutApp As Object
    Dim OutMail As Object    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    On Error Resume Next
   ' Change the mail address and subject in the macro before you run it.
    With OutMail
        .To = "[EMAIL="operators@ggsteel.com"]operators@ggsteel.com[/EMAIL]"
        .CC = ""
        .BCC = ""
        .Subject = "ANGLELINE JOB Form"
        .Body = ""
        .Attachments.Add ActiveWorkbook.FullName
        ' You can add other files by uncommenting the following line.
        '.Attachments.Add ("C:\test.txt")
        ' In place of the following statement, you can use ".Display" to
        ' display the mail.
        .SEND
    End With
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing
    
    Application.Quit
     
End Sub
 

Excel Facts

How can you automate Excel?
Press Alt+F11 from Windows Excel to open the Visual Basic for Applications (VBA) editor.
Try this.
Rich (BB code):
 Sub Mail_Workbook_1()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim wbTemp As Workbook
    Dim strFilename As String
    
    ' copy 'JOB FORM' to it's own workbook
    ThisWorkbook.Worksheets("JOB FORM").Copy
    
    ' set reference to new workbook
    Set wbTemp = ActiveWorkbook
    
    ' save new workbook so it can be sent as attachment
    
    wbTemp.SaveAs ThisWorkbook.Path & "/" & "JobForm", XlFileFormat.xlOpenXMLWorkbook
    
    strFilename = wbTemp.FullName
    
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    On Error Resume Next
    With OutMail
        .To = "operators@ggsteel.com"
        .CC = ""
        .BCC = ""
        .Subject = "ANGLELINE JOB Form"
        .Body = ""
        .Attachments.Add strFilename
        .display
    End With
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing
    
    wbTemp.Close
    
    Kill strFilename
     
End Sub
 
Upvote 0

Forum statistics

Threads
1,215,294
Messages
6,124,101
Members
449,142
Latest member
championbowler

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top