VBA Qual é a diferença subjacente entre a chamada Sub ou Function com ou sem parênteses
Eu tive um problema ao passar uma matriz para uma sub-referência, mas a matriz na verdade não é modificada. Consegui consertar isso, mas quero saber o porquê.
Aqui está o exemplo.
Private Function fCountArray(ByRef arrayVar As Variant)
arrayVar(0) = 333
End Function
Sub Test1()
Dim changedArr As Variant
Dim notChangedArr As Variant
' create 2 quick array
changedArr = Array(1, 2, 33, 56, 76, 89, 10)
notChangedArr = Array(1, 2, 33, 56, 76, 89, 10)
'intest = Array(3, 1, 2)
fCountArray (notChangedArr)
Debug.Print notChangedArr(0) 'Print Out 1
fCountArray changedArr
Debug.Print changedArr(0) 'Print Out 333
End Sub
Então, qual é a diferença subjacente entrefCountArray (notChangedArr) efCountArray changingArr
Por quêfCountArray (notChangedArr) Não passa por referência?