我在Excel中编写一个宏来提取在不同工作簿中的各种工作表中找到的特定信息。唯一的问题是工作表并不总是完全一致地命名。但是,它们的名称包含“ExpandedEngReport”的常用字符串。为了解决这个问题,我试图使用带有Like命令的FOR循环来搜索包含此字符串的工作表,以将工作表名称与部分字符串“ExpandedEngReport”进行比较。
此代码段返回类型不匹配错误。我想这可能是由于ForWork正在搜索的ActiveWorkbook.Sheets组中的各种类型(参见附图1)。
' Find and Select ExpandedEngReport Worksheet
Dim ws As Worksheet
Dim flg As Boolean
For Each ws In ActiveWorkbook.Sheets
If ws.Name Like "*ExpandedEngReport*" Then
ws.Select Not flg
flg = True
GoTo CONTINUE
End If
Next ws
标签CONTINUE
导致我希望在找到并选择此工作表后执行的一组操作。
你已经使Dim ws As Worksheet
变暗并通过Sheets
集合将其用作循环变量,can contain both Chart
or Worksheet
objects
所以修复是
Dim ws As Worksheet
...
For Each ws In ActiveWorkbook.Worksheets