VBA遍历Excel版本工作表时出现‘Object Required’错误求助
VBA遍历版本工作表报错排查与解决
错误原因
你代码里的Sheet.Count是问题根源:Sheet是单个工作表对象,没有Count属性,要获取工作簿中所有工作表的数量,必须用复数形式的Sheets(代表工作簿的工作表集合)。
修正后的基础代码
把Sheet.Count改成Sheets.Count就能解决报错,基础遍历代码如下:
Sub LoopThroughSheets() Dim a As Long, shtCount As Long shtCount = Sheets.Count ' 修正为复数Sheets For a = 3 To shtCount ' 在这里写你要执行的操作,比如引用当前工作表:Sheets(a) ' 示例:MsgBox Sheets(a).Name Next a End Sub
更稳健的遍历方式(推荐)
靠索引从3开始遍历有隐患——如果工作表顺序被调整(比如新增/移动了工作表),就会遍历错误的表。更靠谱的方法是直接判断工作表名称是否包含"Version",精准遍历版本表:
Sub LoopThroughVersionSheets() Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets ' 判断工作表名称是否包含"Version" If InStr(ws.Name, "Version") > 0 Then ' 在这里执行你的操作,比如: ' MsgBox "正在处理版本表:" & ws.Name End If Next ws End Sub
内容的提问来源于stack exchange,提问作者Saadia Surti
相关产品推荐
相关产品推荐

