[英]EXCEL VBA compare cell values to an Array
我以這篇文章為靈感: 如何查找數組是否包含字符串
希望你們能幫助我:
我想在Excel工作表中逐個單元格地遍歷列(范圍)單元格,並查找單元格值是否也在從excel范圍歸檔的數組中,但是由於某種原因,我遇到類型不匹配錯誤。 我猜想,這與將數組聲明為變體有關,但將其更改為字符串也無濟於事。
在此先感謝,非常感謝您的幫助
Function IsInArray(stringToBeFound, arr As Variant) As Boolean
IsInArray = (UBound(Filter(arr, stringToBeFound)) > -1)
End Function
Sub Check()
Dim cell As Range
Dim arr() As String
arr = Range("I2:I3").Value
For Each cell In Range("D2:D15")
If IsInArray(CStr(cell.Value), arr) Then
cell.Interior.Color = RGB(0, 176, 80)
Else
cell.Interior.Color = RGB(0, 0, 0)
End If
Next cell
End Sub
過濾器僅適用於字符串-不適用於對象; 一個簡單的解決方案是改用以下方法:
Function IsInArray(ByVal VarToBeFound As Variant, ByVal Arr As Variant) As Boolean
Dim Element As Variant
For Each Element In Arr
If Element = VarToBeFound Then
IsInArray = True
Exit Function
End If
Next Element
IsInArray = False
End Function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.