我在A列中有一个值列表,在B列中有另一个值列表。
如果A列中的任何值在B列中,或者FALSE在A列中没有值在B列中,我试图让C列中的单个单元格显示为TRUE。
我尝试了MATCH(查找值,范围内),但只查看A中的一个值。
没有VBA可以做到这一点吗?也可以打开VBA解决方案。感谢
答案 0 :(得分:2)
这是一个快速而又脏的UDF。
Public Function Exist(a As Range, b As Range) As Boolean
Dim temp As Boolean
temp = False
For Each cel In a
If WorksheetFunction.CountIf(b, cel.value) > 0 Then
temp = True
Exit For
End If
Next cel
exist = temp
End Function
答案 1 :(得分:0)
我使用过这样的东西来比较VBA中一个列表中的值和另一个列表中的值。如果您有很多要检查的值,可能需要一段时间。只需将B范围设置为您工作表上的范围。
Option Explicit
Dim Index As Long
Dim valueFound As Range
Sub compareAandB()
Index = 2
Do While ThisWorkbook.ActiveSheet.Cells(Index, 1) <> ""
Set valueFound = ThisWorkbook.ActiveSheet.Range("B2:B1000").Find(ThisWorkbook.ActiveSheet.Cells(Index, 1))
If valueFound Is Nothing Then
ThisWorkbook.ActiveSheet.Cells(Index, 3) = "Not Found"
Else
ThisWorkbook.ActiveSheet.Cells(Index, 3) = "Found"
End If
Index = Index + 1
Loop
End Sub