在电子邮件正文中并排粘贴范围

问题描述 投票:0回答:0

下面的代码在邮件正文中一个接一个地粘贴两个范围,如何修改代码使两个范围紧挨着粘贴

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

电流输出

所需输出功率

excel vba outlook ms-word copy-paste
© www.soinside.com 2019 - 2024. All rights reserved.