簡體   English   中英

如何遍歷 VBA 中的行(Excel)

[英]How to loop through rows in VBA (Excel)

我想遍歷大量數據——確切地說是 5,734 行。 這是我想要對所有行執行的操作:

Private Sub CommandButton1_Click()
a = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).row

Range("A2:A14").Copy Range("D2:D14")
("B2:B14").Copy Range("D15:D27")
Range("C2:C14").Copy Range("D28:D40")

假設您的數據看起來像這樣(顏色更容易顯示組):

在此處輸入圖像描述

以下代碼將每個組(黃色、綠色)粘貼到“結果”列。

代碼:

Option Explicit

Sub copy_paste()

Dim lrow As Long
Dim i As Long
Dim j As Long

Dim ws As Worksheet
Set ws = ActiveWorkbook.Worksheets("Sheet1") 'Set the name of the sheet

lrow = ws.Cells(Rows.Count, "A").End(xlUp).Row 'Find the last row in column A

For i = 2 To lrow Step 13 'Loop every group (group of 13 rows) in column A
    For j = 1 To 13 Step 13 'For each group, copy and paste
        ws.Cells(i, "A").Resize(13).Copy ws.Cells(Rows.Count, "D").End(xlUp).Offset(1, 0) 'Copy the group and paste it to the column D. Offset by one to not overwrite the last row
        ws.Cells(i, "B").Resize(13).Copy ws.Cells(Rows.Count, "D").End(xlUp).Offset(1, 0)
        ws.Cells(i, "C").Resize(13).Copy ws.Cells(Rows.Count, "D").End(xlUp).Offset(1, 0)
    Next j
Next i

End Sub

結果:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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