VBAで書いたマクロを実行するとき、ワークシートに用意したボタンなどから実行することが多いと思いますが、マクロを表示するダイアログボックスから実行することもできます。
注意が必要なのは、全然想定してない場面でダイアログボックスから実行してしまいプログラムが暴走したり大事なデータを消したり表のレイアウトを変えてしまったり、ワークシートを削除したり。
自分だけが使うファイルなら対処できますが、マクロのことなんか知らないユーザーがたまたまマクロダイアログから実行してしまい目の前のデータが消えてしまったらパニックになるでしょうね。
そうならないよう色々方法あると思いますが、私はプロシージャに「Private」をつけてマクロダイアログに表示されないようにしています。
普通にSub 〜 とするプロシージャはマクロダイアログに表示(Alt + F8キー)されますが、
Private Sub 〜とすると
ダイアログに表示されなくなります。
「Private」はこのためのステートメントではないのですがこんなことできるよ、ということで知っておいてください。
ちなみに、ダイアログに表示されていませんがマクロ名に「Sample」と入力して実行すると・・・
実験してみてください。
注意が必要なのは、全然想定してない場面でダイアログボックスから実行してしまいプログラムが暴走したり大事なデータを消したり表のレイアウトを変えてしまったり、ワークシートを削除したり。
自分だけが使うファイルなら対処できますが、マクロのことなんか知らないユーザーがたまたまマクロダイアログから実行してしまい目の前のデータが消えてしまったらパニックになるでしょうね。
そうならないよう色々方法あると思いますが、私はプロシージャに「Private」をつけてマクロダイアログに表示されないようにしています。
普通にSub 〜 とするプロシージャはマクロダイアログに表示(Alt + F8キー)されますが、
Private Sub 〜とすると
ダイアログに表示されなくなります。
「Private」はこのためのステートメントではないのですがこんなことできるよ、ということで知っておいてください。
ちなみに、ダイアログに表示されていませんがマクロ名に「Sample」と入力して実行すると・・・
実験してみてください。