トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! >第28話「プロシージャを呼び出すメリットとは?」

やってみよう!Excel VBAで業務改善!|VBAとの出会い編

処理の結果は同じだけど…

「どちらも食事をして満腹になるという、処理の結果は同じだ。
でもうどん屋…つまりSubプロシージャの場合、呼び出したプロシージャの先で処理が完結してしまう。
つまり、うどん屋でうどんを食べるということで、食事をするという処理は完結だ。
これに対して宅配ピザ…つまりFunctionプロシージャの場合、呼び出したプロシージャの先で処理は完結しない。
つまり、宅配ピザ屋がデリバリーしてくれたピザを、自宅…つまり呼び出し元のプロシージャで食べることによって、食事をするという処理が完結する…。
図にするとこんな感じだよ。」

「…なるほど、これはわかりやすいね。
要するに、呼び出し先で処理が完結してしまうときはSubプロシージャを、
そうではなく呼出先の処理の結果を利用したいときはFunctionプロシージャを使えばいい…、
ということかい?」
八木くんがニヤリとします。

「だいぶん、わかってきたじゃないか星。
ここで重要なのは…うどん屋に行くにしろ、宅配ピザをとるにしろ、それぞれの処理の内容は、毎回変わらないということだ。 変わるのは、注文する料理の内容と支払う代金くらいだ。
まさか毎回、きつねうどんとアンチョビピザばかり、たのむわけにはいかないだろう?」
「…俺、アンチョビは苦手なんだけど…」 星くんが、顔をしかめます。

「すまん、それは俺の好物だ」 八木くんが、ポリポリと頭をかきます。

「な~るほどなあ…。
確かに同じ処理を、毎回コードで記述するのはナンセンスだよね。
別のプロシージャにわけて、呼び出すようにすればコードがぐっと短くなるよね」

シーズン1 「VBAとの出会い」編: 各エピソードへのリンク
一覧にもどる