まずは基本から

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