VBA使用另一个数组在一个数组中查找值

时间:2017-04-24 04:07:31

标签: excel excel-vba vba

我有2个数组。

  1. Array1是一个包含3列的列表。
  2. Array2是一个包含2列的列表。
  3. 两个阵列的第1列和第2列具有相同的信息。
  4. 我需要弄清楚如何创建包含Array1中3列的第三个数组,并且只包含属于Array2的项目。

    非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

这样的事情:

假设您的数组位于A1:C10E1:F10,请更改为适合。

Sub Arid()
Dim X
Dim Y
Dim Z

Dim lngCnt As Long
Dim lngCnt2 As Long
Dim lngCnt3 As Long

X = Range([a1], [c10]).Value2
Y = Range([E1], [F10]).Value2

ReDim Z(1 To UBound(X), 1 To 3)

For lngCnt = 1 To UBound(X, 1)
    For lngCnt2 = 1 To UBound(Y, 1)
        If X(lngCnt, 1) = Y(lngCnt2, 1) Then
            If X(lngCnt, 2) = Y(lngCnt2, 2) Then
                lngCnt3 = lngCnt3 + 1
                Z(lngCnt3, 1) = X(lngCnt, 1)
                Z(lngCnt3, 2) = X(lngCnt, 2)
                Z(lngCnt3, 3) = X(lngCnt, 3)
                Exit For
            End If
        End If
    Next
Next

End Sub