使用单词VBA,如何找到arr2中的值存在于arr1中?

时间:2017-08-24 06:25:25

标签: word-vba

这是我的逻辑

arr(1,2,3,4,5,6,7,8,9)
arr1(3,4,5)
arr2(2,0)
arr3(6,7,45,8,3)


(arr,arr1)....-> True
(arr,arr2)....-> False
(arr,arr3)....-> False

使用单词VBA,如何找到arr2中的值必须出现在arr中?如果arr2中的某个值与arr不匹配则它应该从特定数组中出来(例如:arr2(0,9))然后开始检查下一个数组(arr3)。我想比较一个 arr 和多个数组**(arr1,arr2,arr3)**。我尝试了下面提到的逻辑。

For j = 1 To UBound(arr1)
            For k = 1 To UBound(arr2)
               If arr1(j) = arr2(k) Then

                     \\.......

              End If
            Next
 Next

1 个答案:

答案 0 :(得分:0)

这是你的想法吗?

Sub TestMatched()
    Dim Arr() As Variant

    Arr = Array(33, 4, 15)
    Debug.Print Matched(Arr)
End Sub

Private Function Matched(Arr2() As Variant) As Long

    Dim Arr1() As Variant
    Dim i As Long

    Arr1 = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
    For i = LBound(Arr2) To UBound(Arr2)
        If Not IsError(Application.Match(Arr2(i), Arr1, 0)) Then
            Matched = Arr2(i)
            Exit For
        End If
    Next i
End Function