可能的工作表损坏,创建新工作簿的任何替代方法?

时间:2015-03-24 16:10:39

标签: excel vba excel-vba

我在ThisWorkbook中有以下子目录:

Private Sub workbook_open()

msgbox ActiveSheet.Name

End Sub

当工作簿打开时,msgbox行会出现此错误:

Run-time error '32089':
Application-defined or object-defined error

尝试使用以下选项从立即窗口调用工作表:

?Sheets("problemSheetName").Name

也会出现同样的错误。但是,其他表:

?Sheets("someOtherSheet").Name

不要产生此错误。

我无法删除此工作表,因为每当我尝试删除它时Excel都会崩溃。此工作表上还有一个ActiveX按钮,当我尝试删除它时崩溃Excel。该按钮链接到某些代码,但单击该按钮时它不会运行此代码 - 断点显示代码永远不会执行。从工作表上的单元格中删除数据不会导致Excel崩溃。

工作表是否只是损坏了?我不想将数据复制到另一个工作簿中,因为本书有20页,50个类模块和几百个工作簿级命名范围。

编辑:编译VBA会出现此错误:

Object library invalid or contains references to object definitions
that could not be found

1 个答案:

答案 0 :(得分:1)

我最后只编写了一个脚本,将所有工作表,模块和命名范围复制到新工作簿中。这是成功的,并且当脚本遍历损坏的表时没有触发崩溃。