title: Paste Excel range in Outlook
body: <p>I want to paste a range of cells in Outlook. </p>
  
  <p>Here is my code:</p>
  
  <pre><code>Sub Mail_Selection_Range_Outlook_Body()
  
  Dim rng As Range
  Dim OutApp As Object
  Dim OutMail As Object
  
  Set rng = Nothing
  On Error Resume Next
  ' Only send the visible cells in the selection.
  Set rng = Selection.SpecialCells(xlCellTypeVisible)
  Set rng = Sheets("Sheet1").RangeToHtml("D4:D12").SpecialCells(xlCellTypeVisible, xlTextValues)
  On Error GoTo 0
  
  If rng Is Nothing Then
      MsgBox "The selection is not a range or the sheet is protected. " &amp; _
             vbNewLine &amp; "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 = ThisWorkbook.Sheets("Sheet2").Range("C1").Value
      .CC = ""
      .BCC = ""
      .Subject = "This is the Subject line"
      .HTMLBody = RangeToHtml.rng
      ' In place of the following statement, you can use ".Display" to
      ' display the e-mail message.
      .Display
  End With
  On Error GoTo 0
  
  With Application
      .EnableEvents = True
      .ScreenUpdating = True
  End With
  
  Set OutMail = Nothing
  Set OutApp = Nothing
  End Sub
  </code></pre>
  
  <p>I am not getting any error, it just does not paste range in Outlook.</p>
  
  <p>I have removed the <code>On Error Resume Next</code>. It gives me an error</p>
  
  <blockquote>
    <p>Object doesn't support this property or method.</p>
  </blockquote>