VBA(Visual Basic for Applications)に限らずどんなプログラム言語でも、一つのプロシージャの行数があまり増えるのは好ましくないことです。
何度もスクロールしなければ全体を見渡せないようなプロシージャは、そもそも読むだけでも大変ですし、バグも混入しやすくなります。
そのため適度な処理のまとまりごとに、複数のサブルーチンに分割して、メインルーチンからサブルーチンを呼び出すという作りにするのが一般的です。
但しその際に単純にSubプロシージャを作っていくと、別の問題が発生します。
Word・Excel・PowerPointで、マクロのもっとも基本的な実行方法は、メニュー[ツール]−[マクロ]−[マクロ]をクリックして表示される[マクロ]ダイアログから、実行したいマクロを選択して[実行]ボタンをクリックするという操作です。
このとき、サブルーチンのSubプロシージャも[マクロ]ダイアログに表示されてしまうのです。
勿論、単独で実行しても問題のないサブルーチンならば構わないわけですが、メインルーチンから呼ばれることだけを想定したサブルーチンの場合、何が起きるかわからないということもあるでしょう。
そんなサブルーチンは[マクロ]ダイアログに表示されないようにしましょう。プロシージャ名の前に「Private」キーワードをつける
例えば「sortData」というSubプロシージャを作る場合、
「Sub sortData()」
と記述しますが、これを
「Private Sub sortData()」
とするということです。
これで[マクロ]ダイアログに「sortData」というマクロは表示されなくなります。
Home » VBE(Visual Basic Editor) » マクロダイアログにSubプロシージャが表示されないように−Privateキーワード