本人想写个函数在函数内部修改数组的值。代码如下定义:
Dim array1(1) As String
CheckHasChanged (array1)
函数Private Sub CheckHasChanged (ByVal array1 As Variant)        If count1 <> count2 Then
            j = j + 1
            ReDim Preserve array1(j)
            array1(j - 1) =  ""           
        End If
        
End Sub
如何使得array1的内容修改啊
目前这个值不变化 传不出来
有没有类似c# out或者ref?一般vb要定义全局变量吗
谢谢

解决方案 »

  1.   

    为什么不行呢? 我试过byrefDim a, b
    a = 1
    CheckInt (a)
    b = aPrivate Sub CheckInt(ByRef a As Integer)a = a + 1End Sub出来之后b还是等于1?
      

  2.   

    知道了 必须使用call
    晕死了
      

  3.   

    VB默认的情况下数组是传引用的(ByRef),也就是把数组的地址传给目标函数。
      

  4.   

    不用call,不要带括号。CheckInt a
      

  5.   

    CheckInt a
    加了括号就是值