我知道这个问题已经经常讨论,但我仍然无法找到它的修复程序 。我得到Subscript out of range error
,这发生在 开启和关闭。下标超出范围错误 - Excel VBA
有时程序运行,但有时它会被卡住。
- 该程序卡在以下行。
- 与其他工作表相同的声明没有这个问题。
我只打开一个工作簿,我更喜欢 使用
Activeworkbook
而不是指定Excel文件。设置shAuditTrail =
- 切换代码ActiveWorkbook.Sheets( “审计跟踪”)来命名
Sheet5
,而不是工作表的名称。 - 通过打印出 即时窗口中的所有工作表名称,确保名称正确。
好吧,我打开并修复该文件后,它似乎工作。对于那些不知道如何打开和修复损坏的工作簿的人,以下是步骤 (来自MS支持)。
和this博客提供了一些有关解决同一问题的提示。 (虽然它没有提供修复工作簿的解决方案。)
我欣赏所有那些回应并试图提供帮助的人。
很难说这里发生了什么。在你设置它之前变量是空的还是空的?代码有时可以运行吗?你完全确定你指的是正确的工作簿? – brettdj
我只打开一个工作簿。并且其他工作表不会发生此错误。是的,变量在设置之前是空的。我还能尝试什么? – Dombey
现在猜测。建议您选择所有工作表,右键单击,选择“移动或复制”,勾选“创建副本”并将其移动到新的工作簿。移动你的代码。这应该重新生成工作表,并将工作簿的腐败视为一种可能性。 – brettdj