[英]How to loop for multiple columns in VBA
我有以下代碼可以從一張紙上復制數據並將其粘貼到另一張紙上。 但是,我需要粘貼大約 100 列數據。 我如何讓我的循環運行 100 次,這樣我就不必將此代碼復制 100 次?
謝謝
Sub Macro1()
Dim lastrow as long, erow as long
lastrow = Sheet4.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 to lastrow
Sheets4.cells(i,1).Copy
erow = Sheet7.Cells(Rows.Count, 1).End(xlUp).Offset(1,0).Row
Sheet4.Paste Sheet7.Cells(erow,1)
Sheet4.Cells(i,2).Copy
Sheet4.Paste Sheet7.Cells(erow,2)
你什么都不說,我不能再呆了……如果你不需要復制格式,試試下一個代碼。 它將Sheet4
所有列從第二行開始復制到Shee77
的第一個空行。 它比您嘗試的要快得多,使用數組並一次刪除所有內容......
Sub Macro1_bis()
Dim arrSh4 As Variant, sh7Row As Long
arrSh4 = Sheet4.UsedRange.Offset(1).value
sh7Row = Sheet7.Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
Sheet7.Range("A" & sh7Row).Resize(UBound(arrSh4, 1), UBound(arrSh4, 2)).value = arrSh4
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.