ページ

2012/04/14

[Excel][VBA]SubとFunctionの違いとPublicとPrivateの違い

VBAを書いているとSubとFuctionというのが出てきますがイマイチ違いがわからなかったのでまとめます。

結論から言うと、以下の通りです。(※この記事は標準モジュールでの記述での話です)
マクロの実行ユーザー定義関数戻り値
Sub表示される表示されない返すことができない
Private Sub表示されない表示されない返すことができない
Function表示されない表示される返すことができる
Private Function表示されない表示されない返すことができる
どこに表示させたいかで使い分けもできますが、表示させない(Privateの)場合は
Sub と Function のどちらを使ってもあまり変わりません。

意識としては Sub は意味や内容がひとまとまりになっている処理を、
Function は汎用性の高く、そのまま移植できる処理を記述するものだと思っておけば良いと思います。

おすすめ書籍
できる逆引き Excel VBAを極める 勝ちワザ700
2010/2007/2003/2002対応 (「できる逆引き」シリーズ)

国本 温子
インプレスジャパン
発売日:2012-02-09