function A() as long() ... end function调用: dim b() as long b=a
用这种方式实现: Private Function GetArray(ByRef aArray() As String) As StringEnd Function在函数内部改变aArray()数组的值
Private Sub Command1_Click() Dim a() As String '声名动态数组 ReDim a(3) As String a(0) = "a" a(1) = "b" a(2) = "c" SetArray a()
'查看结果 Debug.Print a(0) Debug.Print a(1) End Sub'按地址传递数组参数: Private Function SetArray(ByRef aArray() As String) As String ReDim Preserve aArray(1) As String '改变数组大小 aArray(0) = "1" '对数组赋值 End Function
Private Sub Command1_Click() MsgBox Join(arrayx(10), vbCrLf) End Sub Function arrayx(ByVal n As Long) Dim i As Long Dim x() As String ReDim x(n) For i = 0 To n x(i) = i Next arrayx = x Erase x End Function
function A() as long()
...
end function调用:
dim b() as long
b=a
Private Function GetArray(ByRef aArray() As String) As StringEnd Function在函数内部改变aArray()数组的值
Private Sub Command1_Click()
Dim a() As String '声名动态数组
ReDim a(3) As String
a(0) = "a"
a(1) = "b"
a(2) = "c"
SetArray a()
'查看结果
Debug.Print a(0)
Debug.Print a(1)
End Sub'按地址传递数组参数:
Private Function SetArray(ByRef aArray() As String) As String
ReDim Preserve aArray(1) As String '改变数组大小
aArray(0) = "1" '对数组赋值
End Function
MsgBox Join(arrayx(10), vbCrLf)
End Sub
Function arrayx(ByVal n As Long)
Dim i As Long
Dim x() As String
ReDim x(n)
For i = 0 To n
x(i) = i
Next
arrayx = x
Erase x
End Function