まずは基本から
VBとかVBAとか,初めてなので覚え書きを作ることにした. ここに・・・(笑)
SubプロシージャとFunctionプロシージャ
- Subプロシージャ
- 主に処理を実行するプロシージャ
- 自動マクロで作成されるのはSubプロシージャ
- Functionプロシージャ
- 処理した結果を返すプロシージャ
- Excelのワークシートで使う事が出来る(ユーザー定義関数)
引数の参照渡しと値渡し
- 参照渡し(デフォルト)
- サブルーチンで変更した値が親プロシージャに反映される
- 値渡し
- 引数のコピーをサブルーチンに渡す
- サブルーチンでの変更は親プロシージャに反映されない
引数は特に指定しない限り参照渡しとなる。
参照渡し or 値渡しを明示的に指定する方法
■参照渡し ByRefキーワード
Sub サブールーチン(ByRef x As Integer ) x = 5 '<---呼び出し側に戻った時に、引数に使った変数の値が「5」になっている End Sub
■値渡し ByValキーワード
Sub サブールーチン((ByVal x As Integer ) x = 5 '<---ここで「5」を代入しても、呼び出し元には影響はない End Sub