一个奇怪且郁闷的问题!!
我在做VBA程序时 原来好好的程序 过了几天再运行 发现一个奇怪的问题 原先没有定义的变量居然要定义 提示为:“编译错误:缺少函数或变量”例如原先有个变量i 做 for i = 0 to 10; i原先不需要定义 可现在要了这是怎么回事呢? 如果在程序中包含有:Option Explicit,表示强制显式声明模块中的所有变量。在工具-选项中的“要求变量声明”之前打勾,以后就会自动加上这一句。
Option Explicit 语句
在模块级别中使用,强制显式声明模块中的所有变量。
语法
Option Explicit
说明
如果使用,Option Explicit 语句必须写在模块的所有过程之前。
如果模块中使用了 Option Explicit,则必须使用 Dim、Private、Public、ReDim 或 Static 语句来显式声明所有的变量。如果使用了未声明的变量名在编译时间会出现错误。
如果没有使用 Option Explicit 语句,除非使用 Deftype 语句指定了缺省类型,否则所有未声明的变量都是 Variant 类型的。
注意 使用 Option Explicit 可以避免在键入已有变量时出错,在变量的范围不是很清楚的代码中使用该语句可以避免混乱。
但是我没有用Option Explicit 啊 在工具-选项中的“要求变量声明”之前也没有打勾啊
关键是原来好好的 现在不能用了啊 呵呵,我也遇过这种情况,不知道是什么回事 还有一种情况,可能是与VBA的版本有关吧。
以前碰到类似的,CAD安装的是AutoCAD R2000,它的VBA是5.0版本的。而Office安装的是Office 2000,它的VBA是6.0版本的。
可能是这两套软件的VBA版本不一样,经常会出现一些内部函数没有定义的问题。可能是微软对于版本的控制不是太好。 哦 原来如此啊
是不是2002和2004 就没有这种问题了啊 R2002和R2004的VBA版本都是6.0的,没有区别。 不过程序中的变量最好声明一下比较好,要不然程序一大哪里错了都不知道!
页:
[1]