Aliasのように参照元も書き変えることができます。
Sub inc(ByRef i) i = i+1 End Sub Sub test_inc Dim k k = 20 inc k inc k Debug.Print k '=> 22 End Sub
ちなみに値をコピーして渡したい場合はByValです。デフォルトはC言語などと異なり参照渡し(ByRef)なのでご注意。VBAもこういうちょっとしたルーチンが標準としてあれば、ストレスなくコーディングできるのですが・・・ まあ、C言語でもswapマクロとかよく作りましたし、 昔からのプログラミング言語はこんなものでしょうか。