Try this routine.
This routine hopefully is self explanatery and has options by chnaging the lines
This routine can be run from any sheet and you can either load up a blank template or a blank non formatted sheet.
Sub sendsheet1()
'Declare String
Dim sAddress As String
'Initialise the string with the address entered into box
sAddress = InputBox("Please enter the name of the recipient" & vbCr & "Recipient must be on the Reliance Email" & vbCr & "CONVENTION = firstname . surname@emailaddress", "Send To")
'If the user doesn't enter an address then exit the sub.
If sAddress = "" Then Exit Sub
' select the sheet within the spreadsheet
Sheets("site 1").Select
' selects the named range within sheet
Application.Goto Reference:="export1"
Selection.Copy
' uses either a template file, important if you have lots of formatting or adds work book if simple
Workbooks.Open FileName:="d:RSSL cost prosite1.xls"
' Workbooks.Add
' Selection.PasteSpecial Paste:=xlPasteAll ' pastes all formulas etc if reuired or use :-
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False ' paste values only
Application.CutCopyMode = False
ActiveWorkbook.SendMail Recipients:=sAddress & "@emailaddress.co.uk", Subject:="site 1 cost pro", ReturnReceipt:=False
MsgBox "Your email has been sent to" & vbCr & sAddress, , "MESSAGE"
ActiveWindow.Close ' close the template or added workbook and ask if you want to save
' reselects the sheet with the macro
Sheets("printing").Select
Range("G22").Select
End Sub