对于包含不同类型的组的每个下一循环类型不匹配VBA Excel

Ste*_*bbs 7 excel each vba for-loop type-mismatch

我在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
Run Code Online (Sandbox Code Playgroud)

CONTINUE一旦找到并选择,标签就会导致我想在此工作表上执行的一组操作.

ActiveWorkbook.Sheets组包含许多不同类型的对象.这可能与问题有关吗?这有什么办法吗?

Dis*_*ame 9

你已经变暗Dim ws As Worksheet并通过Sheets集合将其用作循环变量,它可以包含两者ChartWorksheet对象

所以修复是

Dim ws As Worksheet
...
For Each ws In ActiveWorkbook.Worksheets
Run Code Online (Sandbox Code Playgroud)