Excel vba代码停止工作(变量未定义)

时间:2009-07-08 15:28:38

标签: excel vba variables

(免责声明:我不是程序员,我把时间都花在服务器故障上,我只是一个管理员很少)

我们有一个excel电子表格,其中包含在Office 2003中创建的vb代码。

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

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

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

我不明白的是,当错误发生时,它发生在甚至不是变量的东西上(除非我错了?)。

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

http://filedb.experts-exchange.com/incoming/2009/06_w23/t144890/snip.JPG

3 个答案:

答案 0 :(得分:4)

可能需要重新引用对package / addin / DataGrid存在的任何内容的引用。检查工具 - >菜单中的参考

编辑:好的,这就是我发现的,如果您安装了Microsoft安全通报960715,则表明该控件已被终止。有一些修复可能适用于您,也可能不适合您。这篇博客上有一篇好文章:

VSOD Blog

答案 1 :(得分:0)

变量是excel电子表格本身中存在的对象,因此您在上面看到的事件是状态DataGrid1_Click,它是一个事件处理程序。这就是您无法看到变量定义的原因。 SP2之后的安装可能不支持DataGrids吗?

答案 2 :(得分:0)

  1. 确认该对象仍被命名为“datagrid1”。
  2. 尝试使用“Me”(Me.DataGrid1)
  3. 为对象添加前缀
  4. 可能是腐败的早期症状。尝试剪切(ctrl-x)整个代码。然后从调试菜单中单击编译。再次将代码粘贴回编译中。有时这个简单的措施会解决它。 (如果不是你仍然怀疑腐败,那么还有更高级的措施。)