如何在表单名称中searchstring?

我正在尝试在工作簿的所有工作表的名称中search特定的string。对于每个循环,如下所示:

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

但是,我无法使用上面的代码获取所有的表名,因为它只有一个表名。

获取表单名称后,我想在表单名称中search一个特定的string所以,如果任何人都可以帮助我在所有表单中searchstring,那将是非常好的。

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

您迭代所有工作表,但您始终在循环中使用ActiveSheet.Name 。 要search模式,可以使用Like*通配符。

您也可以使用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 

看看这些链接:

  • Ozgrid 返回表单名称
  • Ozgrid macros在添加之前检查工作表名称
  • Excel VBA先生- find工作表名称