Excel 在单元格中查找字符串
我试图检查活动单元格中是否存在字符串Excel 在单元格中查找字符串,excel,excel-2007,vba,Excel,Excel 2007,Vba,我试图检查活动单元格中是否存在字符串NAME,如果存在,程序应该忽略该单元格。如果不存在,则必须删除该单元格的内容。这是我的代码: Sub Search() Range("B3").Select If ActiveCell.Find(What:="NAME") = False Then ActiveCell.Clear End Sub 我不明白为什么它不起作用。如您所见,我现在正在检查B3单元格。这是否符合您的要求 Sub Search() Range("B3").A
NAME
,如果存在,程序应该忽略该单元格。如果不存在,则必须删除该单元格的内容。这是我的代码:
Sub Search()
Range("B3").Select
If ActiveCell.Find(What:="NAME") = False Then ActiveCell.Clear
End Sub
我不明白为什么它不起作用。如您所见,我现在正在检查B3单元格。这是否符合您的要求
Sub Search()
Range("B3").Activate
If ActiveCell.Value = "NAME" = False Then ActiveCell.Clear
End Sub
注意,区分大小写,查找整个单元格的内容,而不是单元格中的字符串。这是否符合您的要求
Sub Search()
Range("B3").Activate
If ActiveCell.Value = "NAME" = False Then ActiveCell.Clear
End Sub
注意,区分大小写,查找整个单元格的内容,而不是单元格中的字符串。这取决于您要查找的匹配类型。那你想找什么?完全匹配?部分匹配?区分大小写的匹配 A) 完全匹配+区分大小写
If UCase(ActiveCell.Value) <> "NAME" Then ActiveCell.ClearContents
If InStr(1, ActiveCell.Value, "NAME") = 0 Then ActiveCell.ClearContents
If InStr(1, ActiveCell.Value, "NAME", vbTextCompare) = 0 Then ActiveCell.ClearContents
在这种情况下,单元格值必须仅为“NAME”
。诸如“NaMe”
、“NaMe”
、“NaMe”
等实例将不匹配
If ActiveCell.Value <> "NAME" Then ActiveCell.ClearContents
在这种情况下,单元格值必须包含“NAME”
。例如命名游戏
<代码>姓氏等。像“我的名字是Sid”
,“名字里有什么”
等实例将不匹配
If ActiveCell.Value <> "NAME" Then ActiveCell.ClearContents
D) 部分匹配+不区分大小写
If UCase(ActiveCell.Value) <> "NAME" Then ActiveCell.ClearContents
If InStr(1, ActiveCell.Value, "NAME") = 0 Then ActiveCell.ClearContents
If InStr(1, ActiveCell.Value, "NAME", vbTextCompare) = 0 Then ActiveCell.ClearContents
在这种情况下,单元格值必须包含“NAME”
。案例
无关紧要。例如名字游戏
,姓氏
,“我的名字是Sid”
,“名字里有什么”
等等
下面是不同场景的快照
注意:如果要使用。请查找,然后参阅。基于上述场景,您将不得不使用
LookAt:=
可以将xlPart
或xlother
作为其参数之一
MatchCase:=
可以将True
或False
作为其参数之一
这完全取决于你想找到什么样的匹配。那你想找什么?完全匹配?部分匹配?区分大小写的匹配
A) 完全匹配+区分大小写
If UCase(ActiveCell.Value) <> "NAME" Then ActiveCell.ClearContents
If InStr(1, ActiveCell.Value, "NAME") = 0 Then ActiveCell.ClearContents
If InStr(1, ActiveCell.Value, "NAME", vbTextCompare) = 0 Then ActiveCell.ClearContents
在这种情况下,单元格值必须仅为“NAME”
。诸如“NaMe”
、“NaMe”
、“NaMe”
等实例将不匹配
If ActiveCell.Value <> "NAME" Then ActiveCell.ClearContents
在这种情况下,单元格值必须包含“NAME”
。例如命名游戏
<代码>姓氏
等。像“我的名字是Sid”
,“名字里有什么”
等实例将不匹配
If ActiveCell.Value <> "NAME" Then ActiveCell.ClearContents
D) 部分匹配+不区分大小写
If UCase(ActiveCell.Value) <> "NAME" Then ActiveCell.ClearContents
If InStr(1, ActiveCell.Value, "NAME") = 0 Then ActiveCell.ClearContents
If InStr(1, ActiveCell.Value, "NAME", vbTextCompare) = 0 Then ActiveCell.ClearContents
在这种情况下,单元格值必须包含“NAME”
。案例
无关紧要。例如名字游戏
,姓氏
,“我的名字是Sid”
,“名字里有什么”
等等
下面是不同场景的快照
注意:如果要使用。请查找,然后参阅。基于上述场景,您将不得不使用
LookAt:=
可以将xlPart
或xlother
作为其参数之一
MatchCase:=
可以将True
或False
作为其参数之一
+ 1 . 我认为用户实际上想要的是ClearContents
,而不是Clear
:)+1。我认为用户实际上想要的是ClearContents
,而不是Clear
:)谢谢!这帮了大忙!非常感谢。这帮了大忙!