要点まとめ
Excel VBAでは、プロシージャ(Sub)を呼び出すときに「引数」を渡すことで、処理を柔軟に変えられることが解説されています。固定値だけでなく、呼び出し元から値を渡す仕組みを理解すると、同じ処理を色々な場面で使い回せます。
1. 引数を渡さない場合
- 例:
warikireCheckの中でnum = 10と固定している。 - この場合、常に「10が2で割り切れるかどうか」しか判定できない。
- → 柔軟性がない。
2. 引数を渡す場合
- 呼び出し側で
Call warikireCheck(10)のように値を指定できる。 - 受け取る側では
Sub warikireCheck(ByVal num As Integer)と書いて、numに値が入る。 - これで「10だけでなく、任意の数値が2で割り切れるか」を判定できる。
- → 再利用性が高まる。
3. ByVal の意味
ByValは「値渡し」を意味する。- 値渡しでは、呼び出し元の変数は影響を受けない。
- 例:文字列を渡して呼び出し先で加工しても、呼び出し元の変数は変わらない。
- → 安心して値を渡せる。
4. データ型の一致が必要
- 呼び出し側で渡す値の型と、受け取る側の引数の型は一致させる必要がある。
- 例:数値型(Integer)を渡すなら、受け取る側もInteger型。
- 型が違うとエラーになる。
5. 文字列やオブジェクトも渡せる
- 数値だけでなく、文字列やオブジェクトも引数として渡せる。
- 例:
setCellValue(ByVal str As String)に文字列を渡すと、セルに文字列を書き込む処理ができる。
初心者へのアドバイス
- 「引数を渡す」=プロシージャに入力を与えることと考えると分かりやすい。
- 料理のレシピに「材料」を渡すようなイメージ。材料が違えば結果も変わる。
- 固定値ではなく引数を使うことで、同じコードを色々な場面で使えるようになる。
