簡體   English   中英

如何在VBA中循環多列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM