Home » VBE(Visual Basic Editor) » マクロダイアログにSubプロシージャが表示されないように−Privateキーワード


マクロダイアログにSubプロシージャが表示されないように−Privateキーワード

対象:Visual Basic Editor

VBA(Visual Basic for Applications)に限らずどんなプログラム言語でも、一つのプロシージャの行数があまり増えるのは好ましくないことです。

何度もスクロールしなければ全体を見渡せないようなプロシージャは、そもそも読むだけでも大変ですし、バグも混入しやすくなります。

そのため適度な処理のまとまりごとに、複数のサブルーチンに分割して、メインルーチンからサブルーチンを呼び出すという作りにするのが一般的です。

[スポンサードリンク]

但しその際に単純にSubプロシージャを作っていくと、別の問題が発生します。

Word・Excel・PowerPointで、マクロのもっとも基本的な実行方法は、メニュー[ツール]−[マクロ]−[マクロ]をクリックして表示される[マクロ]ダイアログから、実行したいマクロを選択して[実行]ボタンをクリックするという操作です。

このとき、サブルーチンのSubプロシージャも[マクロ]ダイアログに表示されてしまうのです。

勿論、単独で実行しても問題のないサブルーチンならば構わないわけですが、メインルーチンから呼ばれることだけを想定したサブルーチンの場合、何が起きるかわからないということもあるでしょう。

そんなサブルーチンは[マクロ]ダイアログに表示されないようにしましょう。


▼操作方法:Subプロシージャが[マクロ]ダイアログに表示されないようにする
プロシージャ名の前に「Private」キーワードをつける

例えば「sortData」というSubプロシージャを作る場合、
「Sub sortData()」
と記述しますが、これを
「Private Sub sortData()」
とするということです。
これで[マクロ]ダイアログに「sortData」というマクロは表示されなくなります。

[スポンサードリンク]

Home » VBE(Visual Basic Editor) » マクロダイアログにSubプロシージャが表示されないように−Privateキーワード

TrackBack:2

TrackBack URL
xlsファイルを開いたときにマクロを実行−Auto_Openマクロ from インストラクターのネタ帳
Excel 97,2000,2002,2003 VBA(Visal Basic for Applications)でマクロを作成し、業務アプリケーションというべきレベルのものを作成しはじめた方から、よくいただく質問があります。 「ブックを開いたときに必ずやりたい処理があるときはどうすればいいですか?」 「フ...
Functionプロシージャが関数の挿入ダイアログに表示されないように−Private Function from インストラクターのネタ帳
対象:Excel 97,2000,2002,2003 「Option Private Module」ステートメントを、モジュールの宣言セクションに記述することで、Functionプロシージャが[関数の挿入]ダイアログに表示されなくなるということをご紹介しました。 他の方法でも、Functionプロシージャを[関...

Home » VBE(Visual Basic Editor) » マクロダイアログにSubプロシージャが表示されないように−Privateキーワード

「VBE(Visual Basic Editor)」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.