Okay, so I took a little deeper look at your code, which I condensed to ..
Private Sub CommandButton1_Click()
' this macro saves the active sheet to a cell value: (5, 9) = Cell I5
Dim oApp As Object, oMail As Object, wb As Workbook, FileName As String
Dim ws As Worksheet, tmpws As Worksheet
Application.ScreenUpdating = False
Set ws = ActiveSheet
Set tmpws = Sheets.Add
tmpws.Range("A1:F369").Copy tmpws.Range("A1")
tmpws.Columns.AutoFit
tmpws.Rows.AutoFit
tmpws.Copy
Set wb = ActiveWorkbook
FileName = Cells(5, 9).Value & " .xls"
On Error Resume Next
Kill "C:\" & FileName
On Error GoTo 0
wb.SaveAs "C:\Documents and Settings\me you\My Documents\" & FileName
Set oApp = CreateObject("Outlook.Application")
Set oMail = oApp.CreateItem(0)
With oMail
.To = "someone@somewhere.com"
.Cc = "someone@somewhere.com;someone@somewhere.com"
.Bcc = ""
.Subject = " Please review " & Cells(5, 9).Value
.Body = "I have attached to this email " & Cells(5, 9).Value
.Attachments.Add wb.FullName
.Display
End With
wb.Close False
tmpws.Delete
Application.DisplayAlerts = False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Set oMail = Nothing
Set oApp = Nothing
End Sub
The one part I don't understand is that between the commented dash-lines. Why not Kill it at the end? Is the point to send an email of only the range copied at the beginning?? Then leave no trace of any temporary sheets created for this??