• 締切済み

コマンドボタンからSubをCallできない

コマンドボタンのコードにcall マクロA と書いたのですが機能しません。 「開発⇒マクロ」でマクロを実行出来ないように(コマンドボタンのクリックまたはVBEのみからしか動かせないように)、マクロAはModule1にPrivate Subで書いてあります。 コマンドボタンからPrivate Subは呼び出せないのでしょうか? もしくは、マクロのリスト一覧に載せない方法、 または、コマンドボタンのクリックのみからしかマクロを起動できないようにする方法はないのでしょうか? よろしくお願いします。

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

無理です。 privateは、外部から呼び出せなくする機能です。

回答No.1

>マクロAはModule1にPrivate Subで書いてあります。 から呼び出せるのは、Module1 内からだけです。 以下の様にしたらそのプロジェクトの 何処からでも呼び出せ、マクロの一覧には表示されないようになります。 標準モジュールに Option Explicit Option Private Module 'マクロの一覧には表示したくない '且つプロジェクト内からは利用したい場合に 'Option Private Module が有効 Sub 控え目() MsgBox Time End Sub とします。 標準モジュール内なので Sub 控え目() でも Public Sub 控え目() でも構いません。 コマンドボタンのクリック時イベントなどに Call 控え目 とすると時刻を返してくれますが、マクロの一覧には表示されません。 こちらを熟読されることを強くお勧め! 井上 治 さんのHPです。 http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_200_050.html ↑の一番最後に今回あなたが知りたいことがあります。 ヘルプにもう少し詳しいのがあるハズ。 http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_200_100.html ↑これも押さえて置くべきかと。

paltivelis
質問者

お礼

無事に成功しました。ありがとうございます。

関連するQ&A