Excel VBA スタンダード試験対策1 プロシージャ

この記事は約3分で読めます。

こちらの公式テキストを参考にExcel VBA の基本をまとめる。

(以下、Amazonへのリンク)

Excel VBA ベーシックでは公式テキストに記載されているサンプルコードがほぼそのまま出題されているような問題も存在する。

この記事にも例としてコードは載せるが、あくまで自分が理解するための「まとめ」という位置付けであるため、

試験対策についてはこちらの公式テキストを参照することを強くお勧めする。

プロシージャ

マクロの最小実行単位。SubプロシージャとFunctionプロシージャがある。

Subプロシージャ

値を返さないプロシージャ。記述されたコードを実行するのみ。

Callステートメント

あるプロシージャの中で、別のプロシージャを呼び出すときに用いる。

以下の例では、Test内でTest2が実行される。

Callは省略することもできるが、可読性の維持のため省略しないほうが良い。

手間だからといってCallを省略すると、「突然プロシージャの名前が出てくたが、何のために記述しているのかがわからない」という事態が起こる可能性がある。

モジュールレベル変数

通常、プロシージャの中で宣言した変数はそのプロシージャ内でしか利用することができない。

しかし、宣言セクションで宣言することによって、モジュール内のどのプロシージャでも変数を利用することができる。

この変数をモジュールレベル変数と呼ぶ。

Functionプロシージャ

Subプロシージャと異なり、何らかの値を返すことができるプロシージャをFunctionプロシージャと呼び、以下のように記述する。

プロシージャ名(以下の場合は「Test」)を記述することで別のプロシージャ内で呼び出すこともできる。

引数

以下のプロシージャの括弧内に入る値を引数と呼ぶ。

プロシージャ内で何か計算するようなコードを記述している場合には、

プロシージャを呼び出す際に引数を渡すことでその値を使って計算を実行することができる。

引数は必ずしも数値とは限らず、文字列などを引数として渡すこともでき、冠すの呼び出し時に型を指定することができる。

プロシージャを作成したときに引数の型を指定している時は、呼び出し時に引数を渡さない・引数の数や型が指定と異なるといったことが起こるとエラーが発生する。

値渡しと参照渡し

引数には値をそのまま渡す方法と、一度変数に格納してから変数を渡す方法の2つがある。

値をそのまま渡す方法を値渡しと呼び、変数に格納してから渡す方法を参照渡しと呼ぶ。

次回:Excel VBA スタンダード試験対策2 変数

Excel資格
シェアする
柳をフォローする
Best Practice

コメント