ところがこれでエラーにならんのだな。
Sub Foo(ByRef i As Integer)
 i = 123
End Sub

Dim x As Integer
Foo(x)

ただ、Stringやクラスは初期化が必要だけどね