我有一个包含许多隐藏工作表的 Excel 工作簿,我想在所有工作表中搜索特定字符串。我不想取消隐藏所有工作表并使用 Excel 搜索功能,因为很难跟踪哪些工作表应该隐藏,哪些不应该隐藏。我编写了以下代码来尝试使用 VBA 搜索所有工作表:
Sub SearchWorkbook()
Dim WS_Count As Integer
Dim I As Integer
Dim WS As Worksheet
Dim r As Range
WS_Count = ActiveWorkbook.Worksheets.count
For I = 1 To WS_Count
Set WS = ActiveWorkbook.Worksheets(I)
With WS
Set r = .Cells.Find(What:="string I want to find", After:=.Cells(1), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
End With
If Not r Is Nothing Then
Debug.Print "Found at " & WS.Name & " " & r.address
End If
Next I
End Sub
当我运行它时,每个工作表最多得到一个搜索结果,但我知道有一个工作表,其中字符串出现了 3 次。如何返回字符串的所有匹配项,而不仅仅是每个工作表上的第一个匹配项?
答案 0 :(得分:0)
我会: