[英]Excel VBA Multiple/Nested For Loops
我有一段代碼,它循環遍歷一張工作表中的 30 列以查找數據,然后將此數據復制到另一個工作表中的某個目的地。 關鍵是這些數據會不斷變化。 有時我可能會復制一列數據,有時會復制全部 30 列數據,更常見的是介於兩者之間。
我已經研究出如何遍歷我的 30 列數據。 但是,我堅持如何將每個副本粘貼到目標工作表上的最后一個旁邊。 到目前為止,它只是一直在頂部復制,因為我還沒有弄清楚如何以及在何處插入 For 循環並使行/列位置可變。
我想知道您是否可以查看下面的代碼並建議第二個 For 循環應該去哪里?
With Sheets("RAW DATA")
ColumnCount = 30
For i = 2 To ColumnCount
'For j = 9 To 39
Dim Rng As Range
Set Rng = Sheets("RAW DATA").Cells(2, i)
If Rng.Value <> 0 And Rng.Value <> "" Then
With Sheets("RAW DATA").Range(Sheets("RAW DATA").Cells(1, i), Sheets("RAW DATA").Cells(16, i))
.Copy
End With
With Sheets("Region")
.Cells(9, j).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
Else
End If
'Next j
Next i
End With
它目前在代碼中注釋掉了,但我一直在嘗試將Next j
部分合並到正確的位置。
提前致謝
正如評論部分所討論的,您可以簡單地從j = 9
(在您的第一個For
循環之前)開始,然后在將您的值粘貼到區域表中之后執行j = j + 1
。 不需要第二個For ... To
循環。
(...)
j = 9
(...)
For i = 2 To ColumnCount
With Sheets("Region")
.Cells(9, j).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
j = j + 1
(...)
Next i
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.