如果要更改其中的值,arraySrc
则需要参考该数组的索引。
例如,您已经完成了。
arraySrc(0) = 1
arraySrc(1) = 2
仅仅因为您复制arraySrc
到arrayTmp
,后者不会保留对 的引用arraySrc
。
但是,如果您arraySrc
通过函数的参数传递了 的引用,则这是可能的。
例如
Option Explicit
Sub myArrays()
Dim arraySrc(0 To 1) As Integer
arraySrc(0) = 1
arraySrc(1) = 2
'-- the referencing
arrayReference arraySrc
End Sub
Function arrayReference(ByRef varr() As Integer) As Variant
If Not IsVarArrayEmpty(varr) Then
varr(0) = 0
varr(1) = 1
End If
arrayReference = varr
End Function
'--check for empty array - additional
Function IsVarArrayEmpty(anArray As Variant) As Boolean
Dim i As Integer
On Error Resume Next
i = UBound(anArray, 1)
If Err.Number = 0 Then
IsVarArrayEmpty = False
Else
IsVarArrayEmpty = True
End If
End Function