簡體   English   中英

使用IF語句檢查數組中是否包含單元格或范圍的值

[英]Using IF statement to check if the value of a cell or range is contained in an array

我有2個數組和一堆數據。 數組設置為范圍...

Dim Ar1() As Variant, Ar2() As Variant
Ar2= Workbooks("workbook2.xlsx").Sheets("Sheet2").Range("A2:A" & LastRow).Value
Ar1= Workbooks("workbook2.xlsx").Sheets("Sheet1").Range("A2:A" & LastRow).Value

試圖找到類似...

If workbooks("workbook1.xlsx").sheets("Sheet1").range("A" & LastRowH).value = Ar1 Then
do an action
Else
do action 2
End If

然后第二個If ... Then代表Ar2。 這總是使我誤以為數據類型錯誤。 請讓我知道是否有辦法可以做到這一點。 謝謝!!!!

編輯:如果我檢查一個范圍並將動作應用於匹配的動作,那將更加有效-謝謝!

我認為這就是您要尋找的-如果在數組中找到該值,則此UDF返回True

Sub Test()

If IsInArray(Workbooks("workbook1.xlsx").Sheets("Sheet1").Range("A" & LastRowH).Value, Ar1) = True Then
    'do something!
Else
    'do something else!
End If

End Sub
Function IsInArray(stringToBeFound As String, arr As Variant) As Boolean
    IsInArray = Not IsError(Application.Match(stringToBeFound, arr, 0))
End Function

要回答我自己的評論,是的,是的。 在intertube-intranetwork-wifi-google:D上找到了

http://www.vbaexpress.com/forum/showthread.php?55832-vlookup-array-values

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM