title: How to add Excel ranges and text to email body, in specific positions?
body: <p>I want to copy data from multiple ranges in an Excel sheet to an email body.</p>
  <p>Below is the code I have come up with.</p>
  <p>How to make ranges paste one under the other and how to add text after ranges but before signature from Outlook.</p>
  <p>How it is now:</p>
  <p><a href="https://i.stack.imgur.com/dEVBZ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/dEVBZ.png" alt="enter image description here" /></a></p>
  <pre><code>Sub reportCostLunch()
  
  Dim recipient(0) As Variant
  recipient(0) = &quot;&quot;
  Dim outlook As Object
  Dim email As Object
  Dim xInspect As Object
  Dim pageEditor As Object
  Dim lastRow As Long
  Dim sheet, sheet1 As Worksheet
  Dim SDest As String, title As String, slot As String
  
  Set sheet = ThisWorkbook.Sheets(&quot;SHEET1&quot;)
  Set sheet1 = ThisWorkbook.Sheets(&quot;SHEET2&quot;)
  title = sheet.Range(&quot;D13&quot;).Value
  Set outlook = CreateObject(&quot;Outlook.Application&quot;)
  Set email = outlook.CreateItem(0)
  
  With email
      SDest = &quot;&quot;
      For i = LBound(recipient) To UBound(recipient)
          If SDest = &quot;&quot; Then
              SDest = recipient(i)
          Else
              SDest = SDest &amp; &quot;;&quot; &amp; recipient(i)
          End If
      Next i
      
      .To = SDest
      .Subject = title
      .Display
  
      Set xInspect = email.GetInspector
      Set pageEditor = xInspect.WordEditor
  
      Worksheets(&quot;SHEET2&quot;).Range(&quot;C44:AF71&quot;).Copy
  
      pageEditor.Application.Selection.start = 1
      pageEditor.Application.Selection.End = pageEditor.Application.Selection.start
      pageEditor.Application.Selection.PasteAndFormat (wdChartPicture)
      pageEditor.Application.Selection.InsertParagraphAfter
  
      Worksheets(&quot;SHEET2&quot;).Range(&quot;C26:AF44&quot;).Copy
  
      pageEditor.Application.Selection.PasteAndFormat (wdChartPicture)
      pageEditor.Application.Selection.InsertParagraphAfter           
      .Display
      email.HTMLBody = &quot;SOME TEXT &quot; _
       &amp; email.HTMLBody &amp; &quot; some text&quot;
                
      Set pageEditor = Nothing
      Set xInspect = Nothing
  End With
  
  Set email = Nothing
  Set outlook = Nothing
  Application.CutCopyMode = False
  End Sub
  </code></pre>