将多个范围的值添加到电子邮件正文中

我有一个基本的Excel的电子邮件代码,但是我想知道如何使它可以添加几个不同的单元格的电子邮件的正文。 这需要包括一些范围。 这些范围应该只显示实际包含值的单元格的值,而不是空白的值。

例如,所以我想举个例子

  • B12数据(换行符x 2)
  • E15:E20数据(LineBreak x2)
  • F19:F20数据

我现在的代码是:

Sub Send_to_Email() On Error GoTo PROC_EXIT Dim OL As New Outlook.Application Dim olMail As Outlook.MailItem Set olMail = OL.CreateItem(olMailItem) Dim SrcSheet As Excel.Worksheet Set SrcSheet = Sheets("Clean (2)") With olMail .To = SrcSheet.Range("A19").Text .Subject = SrcSheet.Range("F19").Text .Body = SrcSheet.Range("B19").Text .Display vbModal '.Send End With PROC_EXIT: On Error GoTo 0 Set OL = Nothing End Sub 

我build议寻找使用HTMLbody而不是body 。 那么你可以自由地添加你想要的任何其他格式。

作为额外的好处,在构build主体string时,不需要担心空白。 虽然很明显,当你解决你的问题时,你仍然希望它清晰可辨。

至于范围,检查所有相关单元格,包括像这样:

 If Range.value <> "" then 'Do Stuff end if