Hello!
I've been searching the internet trying to figure out the answer to what I feel is a fairly simple question for those who are actually skilled in the mystic arts of VBA coding. I'm currently using Ron's BuildToHTML Coding in "Example 1" (as can be seen here: http://www.rondebruin.nl/mail/folder3/mail4.htm ) but I'm unable to tweek the coding to paste multiple ranges into the same outlook body.
For clarification, I have 2 charts in different tabs: Sales & Purchases. Following Ron's code I can change the coding so it copies Sales but I am unable to code the macro to paste the Purchases chart in the same outlook directly below Sales. Any help at all will be appreciated, thanks!
Sub Mail_Selection_Range_Outlook_Body()
' Don't forget to copy the function RangetoHTML in the module.
' Working in Office 2000-2010
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object
Set rng = Nothing
On Error Resume Next
'Only the visible cells in the selection
Set rng = Selection.SpecialCells(xlCellTypeVisible)
'You can also use a range if you want
'Set rng = Sheets("YourSheet").Range("D4:D12").SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If rng Is Nothing Then
MsgBox "The selection is not a range or the sheet is protected" & _
vbNewLine & "please correct and try again.", vbOKOnly
Exit Sub
End If
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = "ron@debruin.nl"
.CC = ""
.BCC = ""
.Subject = "This is the Subject line"
.HTMLBody = RangetoHTML(rng)
.Send 'or use .Display
End With
On Error GoTo 0
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
I've been searching the internet trying to figure out the answer to what I feel is a fairly simple question for those who are actually skilled in the mystic arts of VBA coding. I'm currently using Ron's BuildToHTML Coding in "Example 1" (as can be seen here: http://www.rondebruin.nl/mail/folder3/mail4.htm ) but I'm unable to tweek the coding to paste multiple ranges into the same outlook body.
For clarification, I have 2 charts in different tabs: Sales & Purchases. Following Ron's code I can change the coding so it copies Sales but I am unable to code the macro to paste the Purchases chart in the same outlook directly below Sales. Any help at all will be appreciated, thanks!
Sub Mail_Selection_Range_Outlook_Body()
' Don't forget to copy the function RangetoHTML in the module.
' Working in Office 2000-2010
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object
Set rng = Nothing
On Error Resume Next
'Only the visible cells in the selection
Set rng = Selection.SpecialCells(xlCellTypeVisible)
'You can also use a range if you want
'Set rng = Sheets("YourSheet").Range("D4:D12").SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If rng Is Nothing Then
MsgBox "The selection is not a range or the sheet is protected" & _
vbNewLine & "please correct and try again.", vbOKOnly
Exit Sub
End If
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = "ron@debruin.nl"
.CC = ""
.BCC = ""
.Subject = "This is the Subject line"
.HTMLBody = RangetoHTML(rng)
.Send 'or use .Display
End With
On Error GoTo 0
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub