2015-10-17 89 views
0

我想将工作表(工作表1)中的数据复制到另一工作表(工作表2)。但是,我会以100,000行为单位完成此操作,并继续操作,直到将Sheet1中的所有数据都复制到Sheet2中。我玩过偏移量,rows.count等,但我无法使它工作。任何帮助深表感谢。Excel VBA在每100000行的范围内复制数据并粘贴到其他工作表,直到在范围内复制了所有数据

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 
+0

请写下您试过的代码 – newguy

+0

感谢您的回复。不幸的是我的代码不值得放在这里。我根本不知道从哪里开始。这与在范围内复制信息(包括100000行,第10列)一样简单,然后将该信息粘贴到另一个表格,然后恢复到下一个100000行。 – laurence

+0

这不是每次100k行。首先,当Z = 1时,'“A2:E100000”&Z'的结果为“A2:E1000001”。然后,当Z = 2时,结果是“A2:E1000002”等... – ZygD

回答

0

我试着重复尽可能多的代码。我认为这可能是你想要的。

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 
+0

谢谢。这非常有帮助! – laurence

相关问题