値を変更したい場合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