我担心的是一个非常基本的问题:
如何将值用作数组的任何部分?
Sub test()
Dim x As Variant
x = Array(1, 2, 3, 8, 9, 10, 1585)
If InStr(Cells(1,1).Value, x) Then
MsgBox "OK"
End If
End Sub
在这段代码中,我试图检查单元格是否包含数组中的任何值
答案 0 :(得分:1)
您可以使用Match并检查是否返回数字(这意味着在数组中找到该值)。
Sub test()
Dim x As Variant
x = Array(1, 2, 3, 8, 9, 10, 1585)
If IsNumeric(Application.Match(Cells(1, 1).Value, x, 0)) Then
MsgBox "OK"
End If
End Sub
答案 1 :(得分:1)
或者,如果不必一定是数组,则可以简单地使用这样的字符串:
Sub test()
Dim arrayString As String
arrayString = "1, 2, 3, 8, 9, 10, 1585"
If InStr(1, arrayString, Cells(1, 1), vbTextCompare) > 0 Then
MsgBox "OK"
End If
End Sub