- ベストアンサー
Excel2000でマクロの「ツール」から実行を出来なくする方法
VBAをシートの「ツール」-「マクロ」-「実行」を出来なくする方法を教えて下さい。 ただ、VBA自体を動かなくさせるのではなく、あくまでもシート上に「ツール」から実行させない方法です。 ボタンに登録してあるマクロは、押す事で実行させたいです。 「ツール」-「マクロ」へ行くのをパスワード管理で制御する方法でも良いです。 Excel2000使用の初心者です。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
直接の回答じゃないですが、、 メニューのツール-マクロから実行させたくない理由は何でしょう? もし、複数あるマクロを順序通りに実行させたい等の理由でダイアログに余計なマクロ名を表示させたくないって事なら、Private にすれば表示されません。 標準モジュールに下記のようにマクロを記述した場合、メニューのツール-マクロ では ccc しか表示されません。 Sub ccc() Call aaa Call bbb End Sub Private Sub aaa() MsgBox "aaa" End Sub Private Sub bbb() MsgBox "bbb" End Sub
その他の回答 (2)
- nishi6
- ベストアンサー率67% (869/1280)
●「ツール」-「マクロ」のダイアログボックスにマクロを表示させないようにします。 各SheetのコードウインドウやThisWorkbookのコードウインドウの場合、 『Private Sub』 にします。 ※引数があれば何もしなくても非表示です 標準モジュールに書いたモジュールの場合は、ダミーの引数を書けば表示されません。 (これが見えなくする方法です。ダミーの引数=意味のない引数です) 全て非表示にすれば、編集ボタンも押せません。 ボタンで実行していれば、呼び出し方を少し変えます。(下記に例示) ●「ツール」-「マクロ」のダイアログボックスで操作できなくても、「ツール」-「マクロ」-「Visual Basic Editor」でVBE画面に入れます。 こちらは、ツール→VBAProjectのプロパティ→保護タブ で、パスワードで保護すべきでしょう。 当方、Excel2000です。 -------- シート -------- Private Sub CommandButton1_Click() Call mod_AAA(dmy) '// 標準モジュール Call sht_AAA '// シート End Sub Private Sub sht_AAA() MsgBox "sht_AAA!" End Sub -------- 標準モジュール -------- Public dummy Public Sub mod_AAA(dummy) MsgBox "mod_AAA!" End Sub
お礼
お礼が遅くなり申し訳ありませんでした。 ご丁寧なご回答感謝致します。 おかげさまで解決する事が出来ました。 ありがとうございました。
- 0shiete
- ベストアンサー率30% (148/492)
コマンドバーもVBAで操作できます。
お礼
お礼が遅くなり申し訳ありませんでした。 役に立つURLをご教示いただきありがとうございました。
お礼
お礼が遅くなり申し訳ありませんでした。 おかげさまで解決する事が出来ました。 ありがとうございました。