复制带偏移的复印范围

问题描述 投票:-2回答:1

我正在尝试复制一个范围(行),在VBA中重复了几次,在此我知道起始单元格的名称和范围的大小。

Sub test()
  Dim LastRow As Long, x As Long, a As Long, b As Long
  a = Sheets("sd").Cells(Rows.Count, 1).End(xlUp).Row
  For x = 1 To a
     If Worksheets("sd").Cells(x, 2) = "58117552" Then
      Sheets("sd").Range(Cells(x, 2), Cells(x, 2).Offset(13, 0)).entireRows.Copy
      Sheets("sheet1").Activate
      Sheets("sheet1").Cells(1, 1).Select
      Sheets("sheet1").Paste
      Sheets("sheet1").Activate
    End If
  Next
End Sub

显然,此代码不起作用,但我不知道选择此范围的正确方法

感谢您的帮助

excel vba offset
1个回答
0
投票

那个offset(13)有点令人困惑,但这是您的代码,其中删除了选择。

Sub test()
    Dim a As Long
    Dim sh As Worksheet, ws As Worksheet

    Set sh = Sheets("sd")
    Set ws = Sheets("Sheet1")

    With sh
        a = .Cells(.Rows.Count, 2).End(xlUp).Row
        For x = 1 To a
            If .Cells(x, 2) = "58117552" Then
                .Cells(x, 2).Offset(13, 0).EntireRow.Copy ws.Cells(ws.Rows.Count, "A").End(xlUp).Offset(1)
            End If
        Next x
    End With

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.