【问题标题】:Excel VBA Macro: copy rangeExcel VBA宏:复制范围
【发布时间】:2015-07-18 21:41:57
【问题描述】:
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”直到 lastrow2 列“O”)。对于其他信息,范围未完全填充。范围上有一些空白。这意味着我要复制的范围。但我不知道我应该如何设置范围。请帮我。我有 excel 但我不允许附加图片,因为我还没有声誉。

【问题讨论】:

    标签: vba excel copy range cells


    【解决方案1】:

    在图片中你圈出了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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多