以下のいずれかが起こりました。
Type MyType
A As Integer
End Type
Declare Function MyFunction(ByVal X As MyType) ' Illegal
宣言から ByVal を削除してください。
Type MyType
A As Integer
End Type
Sub MySub(X As MyType)
' ...
End Sub
Dim Z As MyType
MySub(Z) ' Illegal: this tries to pass by value.
MySub Z ' Legal: this passes by reference.
または
Dim anArray(1 to 3) As String
Sub MySub2(Z As Variant)
' ...
End Sub
MySub2(anArray()) ' Illegal: this tries to pass by value.
MySub2 anArray() ' Legal: this passes by reference.
引数を参照渡ししてください。呼び出しステートメントの引数からカッコを削除してください。