はじめに
vbaのFunctionプロシージャとSubプロシージャについて忘れないように使い方のポイントを軽くまとめます。
プロシージャとは
プロシージャとはモジュール内にある
VBAの複数の処理のことである。
種類としてはSubプロシージャとFunctionプロシージャの2種類がある。
SubプロシージャとFunctionプロシージャの違い
Subプロシージャは
・単独で実行することができる
・マクロなどの実行画面ではSubプロシージャが出てくるがfunctionは出てこない
・返り値を返すことができない
・イベント系のプログラムは基本的にSubになっている
Functionプロシージャは
・呼ばれて動く
・呼ばれるために作る
・functionは関数であるため引数が必要
・返り値を返すことができる
・Subプロシージャから呼ばれて使われることがほとんど(単独で動くことができないから)
・基本的にcallで呼ばれるのでプログラム開始時に利用できない
・基本的にcallで呼ばれるのでプログラム終了時に利用できない
使いわけ
引数が必要かどうか、返り値を出すものなのか
呼ばれる前提の処理なのか
この辺で個人的にはsubかfunctionを使いわけていきたいと思っテイル。(今の段階では)
サブルーチン化されたプログラムではFunctionプロシージャのありがたみを感じるらい
終わり。