在另一个范围/单元格中查找一个单元格中的值是否存在

3
我需要一段代码,它可以获取一个单元格的值,并检查另一列是否存在该值,然后返回true/false或类似的答案。
然后我将使用条件语句来表达类似以下的内容:
If "Value in cell B1" exists in Column C Then

Do nothing

Else

Msgbox "Please enter existing/valid value in B1"

End if

我简直无法弄清楚如何做到这一点。提前感谢您的任何帮助!

祝好 Jim


看一下Match函数,它能够实现你想要的功能。 - Vulthil
使用Excel的查找功能或匹配函数。 - Nathan_Sav
2个回答

4
您可以使用Range.Find来实现这一功能。
Dim rng as Range
Set rng = Range("C:C").Find(What:=Range("B1").Value), _
                              LookIn:=xlValues, _
                              LookAt:=xlWhole, _
                              SearchOrder:=xlByRows, _
                              SearchDirection:=xlNext, _
                              MatchCase:=False) 
If rng is nothing Then
    Msgbox "Please enter existing/valid value in B1"
Else
    ' value of b1 found in column C
    ' do something else
End If

这将检查单元格B1的值是否在列C的任何单元格中。
变量rng将指向列C中b1值的第一个出现。
有关.find的所有参数的更多信息,请参见msdn:https://msdn.microsoft.com/de-de/library/office/ff839746.aspx

看起来与上面的Matt Webb所说的非常相似。谢谢你的提示! :) - JimJimL
其实,我是第一个回答的。你可以看到“XX分钟前回答”。所以支持我的回答是公平的... - timbmg
非常抱歉,我改了。我以为它们按时间顺序显示。 - JimJimL

4

类似以下代码应该可以实现。在您的VBA编辑器中插入一个新模块,然后在Worksheet中使用自定义函数,像这样:

=find_string(B1,C:C)

Function Find_String(ByVal SearchTerm As String, ByVal Rng As Range) As String
    Dim FindString As String

    If Trim(SearchTerm) <> "" Then
        With Rng
           Set Rng = .Find(What:=SearchTerm, _
                        After:=.Cells(.Cells.Count), _
                        LookIn:=xlValues, _
                        LookAt:=xlWhole, _
                        SearchOrder:=xlByRows, _
                        SearchDirection:=xlNext, _
                        MatchCase:=False)
           If Not Rng Is Nothing Then

                'Do something!

                'Examples:
                Application.Goto Rng, True
                Find_String = "Found in cell " + Rng.Address

            Else
                MsgBox "Please enter existing/valid value in B1"
                Find_String = "Nothing Found"
            End If
        End With
    End If

End Function

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接