我試圖檢查字符串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