【发布时间】:2019-02-19 11:32:33
【问题描述】:
我正在 Excel 中编写一个宏来提取在不同工作簿中的各种工作表上找到的特定信息。唯一的问题是工作表的命名并不总是完全一致。然而,他们的名字确实包含“ExpandedEngReport”的通用字符串。为了解决这个问题,我尝试使用 FOR 循环和 Like 命令来搜索包含此字符串的工作表,以将工作表名称与“ExpandedEngReport”的部分字符串进行比较。
此代码的 sn-p 返回类型不匹配错误。我认为这可能是由于在 For 循环正在搜索的 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 指向我希望在找到并选择后在此工作表上执行的一组操作。
【问题讨论】:
-
70 年代打来电话,他们希望自己的
GoTo CONTINUE回来。请将其替换为Exit For。如果Next ws之后的行(顺便说一句,您也可以从那里删除ws。)不是您的CONTINUE:所在的位置,那么您真的需要重构你的代码以消除所有的意大利面——未来你(比如当你必须在 30 天内对此进行调整时)会非常感激它。 -
感谢您的建议!老实说,我 4 天前刚刚制作了我的第一个宏,所以我一直在努力解决这个问题,我知道如何哈哈
标签: excel vba for-loop each type-mismatch