下面的代码在邮件正文中一个接一个地粘贴两个范围,如何修改代码使两个范围紧挨着粘贴
rng
在左边和rng2
在右边
更新:按照 Tim 在评论中的建议,使用 1 行 2 列的表格设法并排获得范围,现在的问题是它相距太远想知道如何使粘贴的范围更接近每个其他
Sub sendRange()
Dim sht As Worksheet: Set sht = ThisWorkbook.Worksheets("Sheet1")
Dim lastRow As Long: lastRow = sht.Cells(Rows.Count, "S").End(xlUp).Row
Dim i As Long, x
Dim rng As Range, rng2 As Range, rngTable
Dim doc As Object, wordTbl As Object
For i = 3 To lastRow Step 3
With CreateObject("outlook.application").CreateItem(0)
.Display '.Send
.Body = "There it was" & vbNewLine & vbNewLine
Set doc = .GetInspector.WordEditor
Set rngTable = doc.Range
rngTable.Collapse Direction:=0
Set wordTbl = doc.Tables.Add(rngTable, 1, 2)
Set rng = sht.Range("A" & i & ":A" & i + 2)
Set rng2 = sht.Range("Q" & i & ":Q" & i + 2)
rng.Copy
wordTbl.Cell(1, 1).Range.PasteExcelTable False, False, False
rng2.Copy
wordTbl.Cell(1, 2).Range.PasteExcelTable False, False, False
.To = sht.Range("S" & i + 2)
.Subject = "Here it is"
Application.CutCopyMode = 0
End With
Next i
End Sub