トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 森川くんのVBA日記編: 第9話「マクロの最小実行単位」3/4 :プロシージャの種類

やってみよう!Excel VBAで業務改善! 森川くんのVBA日記編|第9話 「マクロの最小実行単位」

プロシージャの種類


マクロの最小実行単位を プロシージャと呼びます。プロシージャは、モジュールに記述します。一般的な表現として使われる「マクロ」とは、このプロシージャを指します。「マクロを作った」というのは、プロシージャを作成したことであり、「マクロを実行する」というのは、作成したプロシージャを実行するという意味です。
プロシージャには、次の種類があります。

◎Subプロシージャ
一般的なプロシージャです。多くのマクロがSub プロシージャとして作成されます。Sub プロシージャは、値を返すことができません。

◎Functionプロシージャ
マクロを実行した結果、何らかの値を返すことができるプロシージャです。Functionプロシージャは、セルの中に記述して、SUM関数やVLOOKUP関数などワークシート関数と同じように使うことも可能です。Function プロシージャについては、スタンダードで解説します。

◎Property プロシージャ
クラスモジュールで使用するプロシージャです。本書では解説しません。

                                         < ベーシック公式テキスト P28 >

「SubプロシージャとFunctionプロシージャの違いは、値を返すか返さないかの違いか…。
サラッと書いてあるけど、セルから関数のように呼び出せるってことは、
独自の関数をFunctionプロシージャで作ることもできるってことか…。
Excel VBA、おそるべし…だな。
Propertyプロシージャについては、解説しない…と」

ソースのツンとした香りが、森川くんの鼻を刺激します。
彼は、テキストを汚さないように注意しながら、焼きそばを口に運びました。

「…Callステートメントを使うと、別のプロシージャを呼び出すことができるっと。
これって、要するにサブルーチンの呼び出しだよな…」


複数のプロシージャ内で、何度も同じ処理を行うようなとき、その処理を独立したプロシージャとして作成し、複数のプロシージャからCallステートメントで呼び出すようにすると、同じコードを何度も記述しないで済むため、マクロの作成効率が高まります。

<中略>

しかし、その反面で、Callステートメントによる別プロシージャの呼び出しを多用すると、マクロ全体の流れが把握しにくくなり、動作の検証などに悪影響を及ぼします。

                                         < ベーシック公式テキスト P33 >

一覧にもどる