Excel VBA 每 100000 行复制一个范围内的数据并粘贴到不同的 sheet 直到该范围内的所有数据都被复制

Excel VBA copy data in a range for every 100000 rows and paste to a different sheet until all the data has been copied in the range

我想将 sheet (Sheet1) 中的数据复制到另一个 sheet (Sheet2)。但是,我希望这在 100,000 行的块中完成并继续,直到 Sheet1 中的所有数据都已复制到 Sheet2。我玩过偏移量,rows.count 等,但我无法让它工作。非常感谢任何帮助。

Sub MyRow()
Dim iRow
Dim Z As Integer

Application.ScreenUpdating = False

For Z = 1 To 8
    Sheets("sheet2").Range("A2:E100000" & Z).Copy Sheets("Sheet1").Range("A:E")
Next Z

End Sub

我尝试尽可能多地重用您的代码。我想这可能就是你想要的。

Sub MyRow()
Dim Z As Integer
Dim lastRow As Long

Application.ScreenUpdating = False

lastRow = Sheets("Sheet1").Cells.SpecialCells(xlCellTypeLastCell).Row
For Z = 1 To WorksheetFunction.RoundUp(lastRow / 100000, 0)
    Sheets("Sheet1").Range("A1:E100000").Offset((Z - 1) * 100000).Copy _
      Sheets("Sheet2").Range("A1").Offset((Z - 1) * 100000)
Next

End Sub