我试图检查字符串NAME
是否存在于活动单元格中,如果存在,程序应忽略该单元格。如果不存在,则该单元的内容必须被删除。这是我的代码:查找单元格中的字符串
Sub Search()
Range("B3").Select
If ActiveCell.Find(What:="NAME") = False Then ActiveCell.Clear
End Sub
我不明白为什么它不起作用。正如你所看到的,我现在只是检查单元格B3。
我试图检查字符串NAME
是否存在于活动单元格中,如果存在,程序应忽略该单元格。如果不存在,则该单元的内容必须被删除。这是我的代码:查找单元格中的字符串
Sub Search()
Range("B3").Select
If ActiveCell.Find(What:="NAME") = False Then ActiveCell.Clear
End Sub
我不明白为什么它不起作用。正如你所看到的,我现在只是检查单元格B3。
这一切都取决于你试图找到什么样的比赛。那么你想找什么?一场完整的比赛?部分匹配?区分大小写的匹配?
A)完全匹配+大小写敏感
在这种情况下,单元格的值必须是公正"NAME"
。例如" NaMe"
,"NAme"
,"name"
等将不匹配。
If ActiveCell.Value <> "NAME" Then ActiveCell.ClearContents
B)完全匹配+不区分大小写
If UCase(ActiveCell.Value) <> "NAME" Then ActiveCell.ClearContents
或
If LCase(ActiveCell.Value) <> "name" Then ActiveCell.ClearContents
在细胞中值必须"NAME"
或"NaMe"
等实例像" NaMe"
这样的情况下,"Surname"
等将不匹配。
C)部分匹配+区分大小写
If InStr(1, ActiveCell.Value, "NAME") = 0 Then ActiveCell.ClearContents
在这样的单元格的值必须包含"NAME"
的情况。例如NAME GAME
。 SURNAME
等。实例如"My Name is Sid"
,"What's in a NAMe"
等将不匹配。
d)部分匹配+不区分大小写
If InStr(1, ActiveCell.Value, "NAME", vbTextCompare) = 0 Then ActiveCell.ClearContents
在这样的单元格的值必须包含"NAME"
的情况。 Case
并不重要。例如NAME GAME
,SURNAme
,"My Name is Sid"
,"What's in a NAMe"
等
下面是不同的场景的快照。
注意:如果你想使用.FIND
然后看到THIS LINK。基于上述情况,你将有
LookAt:=
打这可能需要xlPart
或xlWhole
作为它的参数之一。MatchCase:=
它可以把True
或False
作为它的一个参数。这是否你想它?:
Sub Search()
Range("B3").Activate
If ActiveCell.Value = "NAME" = False Then ActiveCell.Clear
End Sub
注意什么,是区分大小写的,看起来整个单元的内容,而不是小区内的字符串。
+ 1。我认为用户实际上希望'ClearContents'而不是'Clear' :) –
谢谢!这非常有帮助! – user3163920