Excel VBA宏:复制范围

Excel VBA宏:复制范围,vba,excel,copy,range,cells,Vba,Excel,Copy,Range,Cells,伙计们,我在复制lastrow到lastrow 2的范围时遇到了问题。范围为(从“G”列的最后一行-3到“O”列的最后一行)。预期结果在范围内(lastrow2-3列“G”到lastrow2列“O”)。对于其他信息,范围未完全填充。靶场上有些空白。它表示我要复制的范围。但我不知道该如何设置范围。请帮帮我。我有excel,但我不允许附加图像,因为我还没有声誉 在图片中,你圈出了F列,但在你的问题中,你提到了G。我在这里用了G。我假设你的lastrow值是正确的,这对于你的图片来说没有意义,但这是我

伙计们,我在复制lastrow到lastrow 2的范围时遇到了问题。范围为(从“G”列的最后一行-3到“O”列的最后一行)。预期结果在范围内(lastrow2-3列“G”到lastrow2列“O”)。对于其他信息,范围未完全填充。靶场上有些空白。它表示我要复制的范围。但我不知道该如何设置范围。请帮帮我。我有excel,但我不允许附加图像,因为我还没有声誉


在图片中,你圈出了F列,但在你的问题中,你提到了G。我在这里用了G。我假设你的lastrow值是正确的,这对于你的图片来说没有意义,但这是我的假设。我还假设LastRow告诉您哪一行是您的复制范围的最底层

Dim LastRow As Long
 LastRow = Sheets("Sheet1").Cells(Sheets("sheet1").Rows.Count, "A").End(xlUp).Row
 Sheets("Sheet1").Range("A" & LastRow + 1).FormulaR1C1 = "=WORKDAY(R[-1]C,1)"
 lastrow2 = Sheets("Sheet1").Cells(Sheets("sheet1").Rows.Count, "A").End(xlUp).Row

 'Copy cells
 Sheets("sheet1").Range(??????).Copy
 'Destination
 Sheets("Sheet1").Range("G" & lastrow2 - 3).PasteSpecial xlPasteValues
End Sub
然而,我不清楚你想做什么,如果可能的话,我不会使用复制粘贴

Edit2:您可能还需要更改粘贴行,使其使用-2而不是-3

With Sheets("Sheet1")
    Dim rCopy As Range
    Set rCopy = .Range(.Cells(LastRow -2, "G"), .Cells(LastRow, "O"))
    rCopy.Select
    rCopy.Copy
 End With