Excel 如何使用If语句在列中搜索特定文本?
我试图让代码检查整个列是否包含特定文本。 它将永远是首都。这行后面有很多代码,但我只希望在满足以下条件时运行代码。我所思考的代码如下Excel 如何使用If语句在列中搜索特定文本?,excel,vba,Excel,Vba,我试图让代码检查整个列是否包含特定文本。 它将永远是首都。这行后面有很多代码,但我只希望在满足以下条件时运行代码。我所思考的代码如下 If ActiveSheet.Range("J:J").Text = "GENERAL" Then 然而,这并没有什么回报,我尝试了Instr,但没有任何效果 正确的语法是什么?您可以在一个范围内搜索 if not ActiveSheet.Range("J:J").Find("GENERAL", MatchCase:=True) is nothing then
If ActiveSheet.Range("J:J").Text = "GENERAL" Then
然而,这并没有什么回报,我尝试了Instr,但没有任何效果
正确的语法是什么?您可以在一个范围内搜索
if not ActiveSheet.Range("J:J").Find("GENERAL", MatchCase:=True) is nothing then
msgbox "found it!"
end if
你可以在一个范围内搜索
if not ActiveSheet.Range("J:J").Find("GENERAL", MatchCase:=True) is nothing then
msgbox "found it!"
end if
发现有用武之地
查找什么,[After]、[LookIn]、[LookAt]、[SearchOrder]、[SearchDirection As XlSearchDirection=xlNext]、[MatchCase]、[MatchByte]、[SearchFormat]
您应该指定匹配的GENERAL是使用LookAt:=xlother的整个字符串,还是部分匹配,即在GENERAL Combation中匹配GENERAL使用LookAt:=xlPart
此外,通常最好使用下面的范围对象rng1,以便可以使用找到的对象。尽管在您的情况下,布尔测试足以运行或不运行进一步的代码
部分匹配
整场比赛
发现有用武之地
查找什么,[After]、[LookIn]、[LookAt]、[SearchOrder]、[SearchDirection As XlSearchDirection=xlNext]、[MatchCase]、[MatchByte]、[SearchFormat]
您应该指定匹配的GENERAL是使用LookAt:=xlother的整个字符串,还是部分匹配,即在GENERAL Combation中匹配GENERAL使用LookAt:=xlPart
此外,通常最好使用下面的范围对象rng1,以便可以使用找到的对象。尽管在您的情况下,布尔测试足以运行或不运行进一步的代码
部分匹配
整场比赛
你能举个例子吗?你是如何使用InStr的?你能举个例子吗?还有你是如何使用InStr的?谢谢你的评论@亚历克斯K。谢谢。这正是我所需要的。谢谢你的评论@Alex K.谢谢这正是我所需要的。谢谢你花时间解释我的发现。我对VBA非常陌生,学习曲线非常陡峭。解释一些事情以及语法如何与特定命令配合使用是非常有帮助的。我真的很喜欢学习更多,再次感谢!感谢您花时间解释我们的发现。我对VBA非常陌生,学习曲线非常陡峭。解释一些事情以及语法如何与特定命令配合使用是非常有帮助的。我真的很喜欢学习更多,再次感谢!
Sub FindWholeString()
Dim rng1 As Range
'find exact match
Set rng1 = ActiveSheet.Range("J:J").Find("GENERAL", , xlValues, xlWhole, , , True)
If Not rng1 Is Nothing Then
MsgBox "found in " & rng1.Address(0, 0)
Else
MsgBox "no found", vbCritical
End If
End Sub