Excel VBA宏:复制范围

时间:2015-05-08 04:46:54

标签: vba excel-vba copy range cells

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

伙计们我有把复制范围lastrow到lastrow 2的问题。范围是(lastrow -3 on" G" column to lastrow on" O" column)。预期的结果是在范围内(lastrow2 -3列" G"直到lastrow2在列" O")。对于其他信息,范围未完全填写。范围内有一些空白区域。这意味着我要复制的范围。但我不知道应该如何设定范围。请帮我。我有excel,但我不允许附上图片,因为我还没有名声。

enter image description here

1 个答案:

答案 0 :(得分:0)

在图片中你有列F圈,但在你的问题中你提到G.我和G一起去了。我假设你的lastrow值是正确的,这对你的照片没有意义,但这是我的假设。另外我假设LastRow告诉你哪一行是你的复制范围的底行。

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

但是,我不清楚你要做什么,如果可能我也不会使用复制和粘贴。

Edit2:您可能还需要更改粘贴线,因此它使用-2代替-3。