返回主数组中匹配值的索引数组
我有一个数组与多个重复。 我试图编写代码,将产生第二个数组,其中包含第一个数组中的所有元素的索引等于查找值。
例如,我有这个数组:
1 1 1 2 2 2 2 2 3 3 4 5 6 6 7
我想要第二个数组,将返回数字6的索引。
这是我现在的代码。
Sub test() Dim look_up As Integer Dim id_ar As Variant Dim index_ar As Variant look_up = 6 id_ar = Range("A1:A16").Value index_ar = Application.Match(id_ar, look_up, True) End Sub
我想这导致像这样的数组:
13 14
但它只是返回一堆'#N / A的
一些非常简单的代码可能比简单和简洁的方法更好地帮助你。
定义:arrOut是你想要的输出,rngLookup是你的号码6和其他人所在的地方。 rngDB是你想要查找查找值索引的地方。
Option Explicit Sub dupes() Dim rngLookup, rngDB As Range Dim i, j As Variant Dim arrOut As New Collection Set rngLookup = Worksheets("Sheet1").Range("B1") Set rngDB = Worksheets("Sheet1").Range("A1:A14") Dim counter As Integer counter = 0 For Each i In rngLookup For Each j In rngDB counter = counter + 1 If j.Value = i.Value Then arrOut.Add Item:=CInt(counter) Else End If Next j Next i End Sub