我使用下面的 VBA 將過去的資料從陣列復制到作業表“FD”中。但是,即使我將范圍定義為從第二行開始,它也會復制第一行。
這就是我定義范圍的方式
arr = TB.Range("AD2:AK2").CurrentRegion.Value2
我如何忽略這里的第一行?
Function copyTBdata()
Dim TB As Worksheet, fd As Worksheet
Set TB = ThisWorkbook.Worksheets("TB")
Set fd = ThisWorkbook.Worksheets("FD")
Dim arr As Variant
arr = TB.Range("AD2:AK2").CurrentRegion.Value2
Dim i As Long, J As Long
Dim row As Long, column As Long
row = 240
For i = LBound(arr) To UBound(arr)
If arr(i, 2) <> "NULL" Then
' Copy each column
For J = LBound(arr, 2) To UBound(arr, 2)
fd.Cells(row, J).Value2 = arr(i, J)
Next J
' move to the next output row
row = row 1
End If
Next i
End Function
uj5u.com熱心網友回復:
要遍歷陣列/范圍并從第二行開始,您可以使用 1:
For i = LBound(arr) 1 To UBound(arr)
專業提示養成使用常量而不是幻數的習慣。
Private Const secondRow as Interger = 1
...
For i = LBound(arr) secondRow To UBound(arr)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/348363.html
