正在寻找一段时间,却找不到合适的答案。我正在研究一个变体,我使用了下面提供的解决方案:
所以我所拥有的基本上是一个变种,然后在没有重复的情况下进行重新设计。如果您只使用工作表中的一列,它可以正常工作,因此变量变量也只有1列。
我正在处理的数据需要检查2列,而在for each循环中我只想参考第2列:
Dim mgNames As Variant
Range(Cells(1, "I"), Cells(Range("a1").End(xlDown).Row, "J")).Select
mgNames = Selection
Dim myCollection As New Collection
Dim temp As Variant
On Error Resume Next
For Each temp In mgNames
myCollection.Add Item:=temp, Key:=temp
Next temp
On Error GoTo 0
ReDim mgNames(1 To myCollection.Count)
For temp = 1 To myCollection.Count
mgNames(temp) = myCollection(temp)
Next temp
所以部分 For Each temp在mgNames中代码获取变量中的每个值,ex mgnames(1,1)然后是mgnames(1,2),依此类推。我想对第二列进行迭代,所以从(1,2)(2,2),(3,2)...
如果有人能够提供帮助,那就太棒了
答案 0 :(得分:2)
您不必使用For Each
循环播放数组,您可以使用普通For
,如
Dim i As Long
...
For i = LBound(mgNames,1) To Ubound(mgNames,1)
myCollection.Add Item:=mgNames(i,2), Key:=mgNames(i,2)
Next i
...