Тони уже дал вам один способ. Вот еще один с использованием групповых символов. Теперь использование подстановочных знаков важно, потому что, скажем, у вас есть ячейки, где
А1 = налог
B10 = Налог и сбор
C15 = Налог и сбор1
D20 = 123Tax
G45 = DoggyTax
Что делать, если вы хотели искать только Tax *, т.е. Tax, Tax & Fee и Tax & Fee1?
Также, когда вы выполняете поиск по всем ячейкам, вам нужно указать диапазон. Вот быстрый пример
Option Explicit
Sub Sample()
Dim oRange As Range, aCell As Range, bCell As Range
Dim ws As Worksheet
Dim ExitLoop As Boolean
Dim SearchString As String, FoundAt As String
On Error GoTo Err
'~~> The Sheet where the search has to be performed
Set ws = Worksheets("Sheet1")
'~~> In All cells
Set oRange = ws.Cells
'~~> Search string
SearchString = "Tax*"
Set aCell = oRange.Find(What:=SearchString, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
'~~> If search was found
If Not aCell Is Nothing Then
Set bCell = aCell
FoundAt = aCell.Address
Do While ExitLoop = False
Set aCell = oRange.FindNext(After:=aCell)
If Not aCell Is Nothing Then
If aCell.Address = bCell.Address Then Exit Do
FoundAt = FoundAt & ", " & aCell.Address
Else
ExitLoop = True
End If
Loop
Else
MsgBox SearchString & " not Found"
End If
MsgBox "The Search String has been found these locations: " & FoundAt
Exit Sub
Err:
MsgBox Err.Description
End Sub
Вы можете найти больше информации о FIND () и FINDNEXT () в указанной ниже ссылке.
ТЕМА: .ind и .FindNext в Excel VBA
LINK : http://siddharthrout.wordpress.com/2011/07/14/find-and-findnext-in-excel-vba/
Примечание : Если вы хотите найти все экземпляры «Налога», вам не требуется подстановочный знак. Все, что вам нужно сделать, это использовать ниже, как предложил Тони.
LookAt:=xlPart
НТН
Sid