VBA遍历有2列的变体

正在寻找一段时间,但找不到一个正确的答案。 我正在研究一个变体,我使用了下面提供的解决scheme:

http://www.mrexcel.com/forum/excel-questions/305870-eliminate-duplicated-visual-basic-applications-array.html

所以我所拥有的基本上是一个变种,然后重做,没有重复。 它工作正常,如果你只使用一列从表中,所以variablesvariables也只有1列。

我正在处理的数据需要检查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 

所以部分对于每个温度mgNames代码取variables中的每个值,例如mgnames(1,1)然后mgnames(1,2)等等。 我想只迭代这第二列,所以从(1,2)(2,2),(3,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 ...