用Public吧,在模块中声明一个全局数组,在主窗口中给数组赋值,在子窗口中调用

解决方案 »

  1.   

    变体变量只以用于在Function中返回数组,似乎用在窗口之间不行
      

  2.   

    newyon()能稍微详细一点么?我没用过
      

  3.   

    FORM1代码:Private a(3) As IntegerPrivate Sub Command1_Click()
      Dim bb As New Form2
      Form2.ay = a
      Form2.Show 1
    End SubPrivate Sub Form_Load()
    a(0) = 1
    a(1) = 2
    a(2) = 3
    a(3) = 4
    End SubFORM2的代码
    Private a As VariantPrivate Sub Command1_Click()
      If IsArray(a) = True Then
        MsgBox a(UBound(a))
      End If
    End SubPublic Property Get ay() As Variant
      ay = a
    End PropertyPublic Property Let ay(ByVal vNewValue As Variant)
      a = vNewValue
    End Property先运行form1
      

  4.   

    还可以用一种简单的方法把form2的
    private a As Variant
    改成为
    Public a As Variant然后把定义的属性的定义去掉,这样也可以用!不过这样做不太好!到时你做过就知道了!用公共变量的确方便,但是不方便其他人阅读自己写的程序,有什么问题就要添加全局的变量或数组可能会给自己带来很大的麻烦的啊!有时排错的时候都不知道在什么地方把这个变量的值改变了,就算用搜索找出来都是挺麻烦的.这些是我在开发程序时自己的一些体会
      

  5.   

    newyon() 的方法很好,而且我的程序需要传递20几个数组,如果用全局变量的话显然不太合适!
    多谢两位~!