繁体   English   中英

Excel VBA宏:复制范围

[英]Excel VBA Macro: copy range

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时遇到问题。范围是(“ G”列上的lastrow -3直到“ O”列上的lastrow)。 预期结果在范围内(lastrow2 -3列“ G”直到列“ O”上的lastrow2)。 有关其他信息,范围未完全填满。 范围上有一些空白。 这意味着我要复制的范围。 但是我不知道如何设置范围。 请帮我。 我有专业技能,但是因为我还没有声誉,所以我不允许附加图像。

在此处输入图片说明

在图片中,您圈出了F列,但在您的问题中,您提到了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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM