如何在工作表名称中搜索字符串?

时间:2011-07-28 14:02:11

标签: excel vba excel-vba

我正在尝试使用For for each循环搜索工作簿的所有工作表名称中的特定字符串,如下所示:

 For Each Sheet In ActiveWorkbook.Sheets
  Name = ActiveSheet.Name
  Next Sheet

但我无法使用上面的代码获取所有工作表名称,因为它只会卡在一个工作表名称上。

获取工作表名称后我想在工作表名称中搜索特定字符串所以如果有人可以帮我搜索所有工作表中的字符串,那就太棒了。

3 个答案:

答案 0 :(得分:3)

For Each sheet In ActiveWorkbook.Sheets
    If sheet.Name Like "*" & strSearch & "*" Then
        Debug.Print "Found! " & sheet.Name
    End If
Next

您遍历所有工作表,但始终在循环中使用ActiveSheet.Name。 要搜索模式,您可以将Like*通配符一起使用。

答案 1 :(得分:3)

你也可以使用InStr功能......或者我没有正确地回答你的问题。

Sub CheckSheets()        
    Dim oSheet As Excel.Worksheet
            For Each oSheet In ActiveWorkbook.Sheets           
        If InStr(UCase(oSheet.Name), UCase("Sheet")) Then                
            Debug.Print oSheet.Name                
        End If            
    Next oSheet        
End Sub

答案 2 :(得分:0)