Excel工作表突然无法运行VBA代码 - 适用于"一些"其他机器 - 重复的工作表工作正常



我的Excel工作簿有问题。我有模块中的代码和嵌入在工作表中的代码。

直到最近,一切都很正常,但突然嵌入工作表中的代码就不起作用了。

我有一个右键单击单元格的子程序。它曾经创建自己的下拉菜单,而不是标准的右键单击菜单,但最近它停止了工作。我尝试过删除整个代码并简单地放入msgbox("Test"),但它仍然不起作用。

启用宏是因为这是一件有趣的事情。。。如果我右键单击工作表选项卡并复制它。。。新版本运行得非常好。就好像原始工作表已损坏一样。

当我尝试手动删除原始工作表时(右键单击选项卡并删除),这进一步证明了这一点。

这会导致Excel崩溃。

我可以删除任何其他工作表,没有问题。

然而,我的一位同事打开了工作簿,它对他来说很好,不必复制表格。

当它第一次发生时,我做了重复修复,然后将原来的重命名为";废弃";。这不是一个很好的变通办法,但仍然有效。

然而,这种情况现在又发生了,我不愿意继续以这种方式修补它。

如果我尝试使用VBA从另一张工作表寻址:

表2中的代码("从"):msgbox(sheets("Master").cells(1,1).value)

它给出以下错误:

运行时错误32809:应用程序定义或对象定义错误

我已经尝试将其寻址为sheet1.cells而不是sheets("Master").cells,这也给出了相同的错误。

将代码更改为指向Sheet3效果良好。实际上就是这张纸造成了问题。

我也尝试过"打开并修复"文档。

我广泛阅读并尝试删除.exd文件等。运气不好。

有什么想法吗?它似乎与代码无关——更具体地说,这是此工作簿及其工作表的一个特定问题,随着时间的推移,它会变得"损坏",但仅适用于某些计算机/用户。

图纸中还有一个命令按钮。这也不起作用(单击它也没有任何作用)。如果我进入VBA编辑器并手动激活子程序,我会得到以下错误:

编译错误:

对象库无效或包含对找不到的对象定义的引用。

同样,即使我将代码直接剥离为一个简单的msgbox操作,这种情况仍然会发生。

任何想法都将不胜感激。感谢

嗨,我在运行填充工作表上组合框的代码时遇到了同样的问题。工作表索引似乎正在被删除,因此工作簿不再"看到"您试图引用的工作表。

我找到的一个简单的解决方法是用不同的名称重新保存工作簿,它应该可以正常工作,但当它定期运行时,这并不理想。但是,它允许您在其他计算机上损坏原始工作簿后恢复该工作簿。

微软在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

他们在上述博客上提供的解决方案要求所有用户都进行此更新,然后从临时文件夹中删除与该问题相关的所有.exd文件,然后重新编译代码(这仍然需要所有机器都进行新的更新)。

另一个选项(在他们解决问题之前,我将采取的选项)是在进行更新之前将问题机器回滚到12月之前的版本。

希望能有所帮助!

最新更新