我有一段代码循环遍历一张工作表中的30列以查找数据,然后将该数据复制到另一个工作表中的特定目标。关键是该数据将不断变化。有时,我可能要复制一列数据,而有时则要复制全部30列数据,更常见的是介于两者之间。
我已经弄清楚了如何遍历我的30列数据。但是,我对如何将每个副本粘贴到目标工作表上的最后一个副本不放。到目前为止,它只是一直复制到顶部,因为我还没有弄清楚如何以及在何处插入For Loop并使行/列位置变量。
我想知道您是否可以查看下面的代码并建议第二个For Loop应该放在哪里?
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句