VBAの引数

◆関数の定義

何も書かないで定義すると「参照渡し」になります!

ByValもしくはByRefで定義しましょう。

私には難しいので、全てByValにしておきます。

 

ByVal と ByRef の違いは、引数に渡した変数の値が関数呼び出し後に変更されるかどうかです。

  • ByVal:変更されない
  • ByRef:変更される

 

◆関数の呼び出し

括弧を付けないでコールするときは、強制的に「値渡し」となるそうです。

VBA でやっかいなのは、上のコードで Sub 関数の引数に () を付けていません。実は () を付けると ByRef でも値が変更されません。ただし、Call で呼び出したときは ByRef の動作になります。

 

≪参考≫

 

www.tipsfound.com