我必须使用while循环原因,如果我使用for循环,一些我的循环没有结束util最后一行。但我在这里混淆的是我试图尽可能快地循环它,所以我使用变量范围并将所有数据转储到一个变量中。问题是我在下面的这行中遇到错误。知道如何解决它。使用To的错误是不完整的。
Dim allData as Variant
allData = ws.Range("A2:Z1048576").Value
While i = UBound(allData, 2) To LBound(allData, 2)
答案 0 :(得分:0)
如果您要遍历allData中的每个值,您将需要嵌套循环,一个遍历行,一个迭代遍历列。
这样的事情应该有效。
Sub iterate2D()
Dim allData As Variant
allData = Range("A2:Z1048576").Value
For i = LBound(allData) To UBound(allData) 'For Row
For j = LBound(allData, 2) To UBound(allData, 2) 'For Column
'Your code
Next
Next
End Sub
另一种方法是,您可以简单地遍历选择中的每个单元格,而不会将所选范围的值转储到数组中。
Sub iterate()
For Each cell In Range("A2:Z1048576")
'Your code
Next
End Sub