• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:参照渡しをする時は、渡される側は違う変数を使う?)

参照渡しをする時は、渡される側は違う変数を使う?

このQ&Aのポイント
  • 参照渡しをする場合、渡される側は違う変数を使うべきですか?
  • VBAのお勉強をしている際に、サブルーチン間で参照渡しを行うことがありますが、渡される側は新しい変数を使用するべきですか?
  • test2とtest3のどちらを使うべきですか?test1と同じ変数を使おうが違う変数を使おうが、宣言がByRefであれば結果は変わりません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>test1と同じ変数を使おうが違う変数を使おうが >どちらにしろ >(ByRef 変数名 As String) >で宣言するから、変わらないのでしょうか? 実際に、コーディングをする時に、読みやすいコードに書くのは当たり前のことです。 例え、同じものであっても、サブルーチンなどの場合に、引数で違った名前でつけたら読みにくくなるはずです。ただし、Public キーワードをつけて、他でも使えるものとしプロシージャの引数の名称を一般名(データ型などを類推できるようにする)にするなら、また話は別です。今回は、呼び出しだけに使うものですから、常識的には、引数は変数名と同じにします。 理屈でなく、mystr は、同じものなのですから、私なら表記を同じにします。 Call test2(mystr) →Sub test2(ByRef mystr As String)

EXOORHZZRX6
質問者

お礼

読みやすさを心がけるのが一番ですね。 私自身test3のやり方は混乱するので参照渡しをする際は同じ変数を使いたいなーと思い質問しました。

その他の回答 (1)

回答No.1

>test1と同じ変数を使おうが違う変数を使おうが >どちらにしろ >(ByRef 変数名 As String) >で宣言するから、変わらないのでしょうか? 貴方が言われているように、これが正しいですね。 余談 C言語のポインタを理解していれば、このあたりの仕組みは簡単に理解できますね

EXOORHZZRX6
質問者

お礼

やはりそういう事なんですね。 C言語ですか・・・ 未知の世界です。

関連するQ&A