excel - Excel VBA 多个/嵌套 For 循环
问题描述
我有一段代码循环遍历一张表中的 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
推荐阅读
- python - 当数据从mysql导入数据时,双数据通过python pandas转换为float数据
- android - 找不到方法类路径()
- lua - 如何使用带有特殊字符的 gsub
- scala - 给定一个行为的实例,我可以向它应用一条消息来创建一个新的行为吗
- python - 熊猫在列中找到最接近的值
- typescript - 该方法应该返回什么类型?
- java - 在 Spring Boot 的运行时创建一个常量字段
- openssl - 将 Sectigo/Comodo 的代码签名证书转换为实际可用的 .pfx 文件
- flutter - 在颤动中只显示一次 AlertDialog
- python - Django 如何从多到多领域获取数据?