こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel2000でマクロの「ツール」から実行を出来なくする方法

VBAをシートの「ツール」-「マクロ」-「実行」を出来なくする方法を教えて下さい。
ただ、VBA自体を動かなくさせるのではなく、あくまでもシート上に「ツール」から実行させない方法です。
ボタンに登録してあるマクロは、押す事で実行させたいです。
「ツール」-「マクロ」へ行くのをパスワード管理で制御する方法でも良いです。
Excel2000使用の初心者です。よろしくお願いします。

投稿日時 - 2004-03-07 23:07:02

QNo.799693

暇なときに回答ください

質問者が選んだベストアンサー

直接の回答じゃないですが、、
メニューのツール-マクロから実行させたくない理由は何でしょう?
もし、複数あるマクロを順序通りに実行させたい等の理由でダイアログに余計なマクロ名を表示させたくないって事なら、Private にすれば表示されません。

標準モジュールに下記のようにマクロを記述した場合、メニューのツール-マクロ では ccc しか表示されません。

Sub ccc()
 Call aaa
 Call bbb
End Sub

Private Sub aaa()
 MsgBox "aaa"
End Sub

Private Sub bbb()
 MsgBox "bbb"
End Sub

投稿日時 - 2004-03-07 23:48:36

お礼

お礼が遅くなり申し訳ありませんでした。
おかげさまで解決する事が出来ました。
ありがとうございました。

投稿日時 - 2004-03-10 12:35:29

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

●「ツール」-「マクロ」のダイアログボックスにマクロを表示させないようにします。

各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
 

投稿日時 - 2004-03-08 01:10:46

お礼

お礼が遅くなり申し訳ありませんでした。
ご丁寧なご回答感謝致します。
おかげさまで解決する事が出来ました。
ありがとうございました。

投稿日時 - 2004-03-10 12:36:10

ANo.1

コマンドバーもVBAで操作できます。

参考URL:http://www2.moug.net/cgi-bin/technic.cgi?exvba+TI08010013

投稿日時 - 2004-03-07 23:20:33

お礼

お礼が遅くなり申し訳ありませんでした。
役に立つURLをご教示いただきありがとうございました。

投稿日時 - 2004-03-10 12:34:09

あなたにオススメの質問