在sheet1通用中声明了一个变量:
Public ar as integer
ar=2会产生“无效过程”的错误。请问如何给公共变量赋值?

解决方案 »

  1.   

    在“Public ar as integer”之前加入“option explicit”试试
    option explicit
    Public ar as integer
    ar=2  
      

  2.   

    如果是常量:Public Const ar as integer = 2如果是变量,则在某个过程中赋值。
      

  3.   

    谢谢各位热心帮助!
    发现public只能const赋值,变量则需在过程中赋值。而Option Explicit,帮助说:
    如果使用,Option Explicit 语句必须写在模块的所有过程之前。如果模块中使用了 Option Explicit,则必须使用 Dim、Private、Public、ReDim 或 Static 语句来显式声明所有的变量。如果使用了未声明的变量名在编译时间会出现错误。如果没有使用 Option Explicit 语句,除非使用 Deftype 语句指定了缺省类型,否则所有未声明的变量都是 Variant 类型的。注意 使用 Option Explicit 可以避免在键入已有变量时出错,在变量的范围不是很清楚的代码中使用该语句可以避免混乱。
    我需要定义一组关联的变量为公共变量,
    ...
    X_Col=12
    Y_Col=X_Col+1
    (N个)
    ...他们在多个事件过程中被调用所以考虑在公共区赋值。请问有没有更好的算法?或者赋值方法?
      

  4.   

    设置程序从Sub main启动,在main过程中初始化这些变量