我的Excel工作簿存在问题。我在模块中嵌入了代码并嵌入了工作表中。
直到最近,一切工作正常但突然间工作表中嵌入的代码无效。
我有一个右键单元格的子例程。这用于创建自己的下拉菜单,而不是标准的右键菜单,但最近它停止工作。我尝试删除整个代码并简单地添加msgbox("Test")
,但它仍然不起作用。
启用宏,因为这是有趣的事情......如果我右键单击工作表选项卡并复制它......新版本的工作正常。就好像原始纸张已经腐败一样。
当我尝试手动删除原始工作表(右键单击选项卡并删除)时,可以进一步证明这一点。
这会导致Excel崩溃。
我可以删除任何其他表格没有问题。
然而,我的一位同事打开了工作簿,这对他来说很好,而不必复制工作表。
当它第一次发生时,我做了重复修复,然后将原始文件重命名为“OBSOLETE”。不是一个漂亮的解决方法,但仍然工作。
然而,现在又发生了这种情况,我不愿意继续以这种方式修补它。
如果我尝试使用其他工作表中的VBA来处理工作表:
表2中的代码(“奴隶”):msgbox(sheets("Master").cells(1,1).value)
它出现以下错误:
运行时错误32809:应用程序定义的错误或对象定义的错误
我已尝试将其作为sheet1.cells
而不是sheets("Master").cells
进行处理,这也会产生同样的错误。
将代码更改为指向Sheet3
的工作正常。它实际上只是这张表引起了问题。
我也尝试在文档上“打开并修复”。
我已经广泛阅读并尝试删除.exd文件等。没有运气。
有什么想法?它似乎独立于代码 - 更多是这个工作簿及其工作表的特定问题,随着时间的推移变得“腐败”,但仅限于某些机器/用户。
表格中还有一个命令按钮。这也行不通(点击它什么都不做)。如果我进入VBA编辑器并手动激活子例程,我会收到以下错误:
编译错误:
对象库无效或包含对无法找到的对象定义的引用。
同样,即使我将代码剥离到一个简单的msgbox操作,这仍然会发生。
任何想法都将不胜感激。感谢
答案 0 :(得分:1)
您好我运行的代码填充了我的工作表上的组合框。似乎正在删除工作表索引,因此工作簿会更长时间“看到”您尝试引用的工作表。
我发现一个简单的解决方法是使用不同的名称重新保存工作簿,它应该可以正常工作,但这在定期运行时并不理想。但它允许您在其他计算机上损坏后恢复原始工作簿。
似乎微软在2014年12月进行的一些安全更新导致在旧机器和新机器上运行工作表的问题。他们意识到了这个问题,并正在努力解决它。这篇博客解释了问题和解决方法: http://blogs.technet.com/b/the_microsoft_excel_support_team_blog/archive/2014/12/11/forms-controls-stop-working-after-december-2014-updates-.aspx
上述博客中提供的解决方案要求所有用户都有此更新,然后从temp文件夹中删除与该问题相关的所有.exd文件,然后重新编译代码(这仍然要求所有机器都有新的更新)。
另一个选项(我将在解决问题之前采取的选项)是在进行更新之前将问题机器回滚到12月之前的版本。
希望有所帮助!