我正在尝试编写If...Then
条件,以便:
如果Sheet1中的单元格A3的值存在于Sheet2的A列中,那么......
我已尝试使用此代码,但它不起作用(错误):
If Worksheets("Sheet1").Range("A3") = Worksheets("Sheet2").Range("A:A") Then
...
答案 0 :(得分:1)
我不太确定你为什么会在这里收到错误,但你的If..Then
条件肯定不会像你希望/期望的那样工作。
您正在尝试将单个值(Sheet1中的A3值)与整个列(Sheet2中的A列)进行比较,这与查看该值是否为中的绝对不同/ em>那一栏。
您可以使用Range.Find
方法确定某个值是否存在于给定范围内,如下所示。
Dim varFindThis As Variant
Dim rngLookIn As Range
varFindThis = Worksheets("Sheet1").Range("A3")
Set rngLookIn = Worksheets("Sheet2").Range("A:A")
If Not rngLookIn.Find(varFindThis, LookIn:=xlValues) Is Nothing Then
...
End If
有关该功能及其使用方法的详细信息,请参阅this MSDN page。
答案 1 :(得分:0)
考虑:
Sub dural()
Dim r1 As Range, v1 As Variant, r2 As Range
Set r1 = Sheets("Sheet1").Range("A3")
v = r1.Value
Set r2 = Sheets("Sheet2").Range("A:A")
If Application.WorksheetFunction.CountIf(r2, v) > 0 Then
MsgBox "its there"
Else
MsgBox "its not there"
End If
End Sub