这是我的逻辑
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
答案 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