VBA В чем основная разница между вызовом Sub или Function с круглыми скобками или без них?

У меня была проблема с передачей массива в Sub By Reference, но массив фактически не изменялся. Мне удалось это исправить, но я хочу знать, почему.

Вот пример.

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

Так что же лежит в основе различий междуfCountArray (notChangedArr) а такжеfCountArray updatedArr

ЗачемfCountArray (notChangedArr) Не передать по ссылке?

Ответы на вопрос(1)

Ваш ответ на вопрос