• ベストアンサー

Excel VBAからトグルボタンを押下状態にしたい

タイトルの通りなのですが、 シートにトグルボタンを設置し、それを押すのではなく VBAから押下状態にするにはどうしたら良いのでしょうか。 具体的にどう使いたいかと言いますと、 「このシートは保護されているよ」という状態を 簡単に目視できるようにしたいために、 押すとシート保護、もう一度押すと解除というトグルボタンを つけたものの、 ツールバーからシート保護をしたら、「トグルボタンは押されてないけど シートは保護はされているという気持ち悪い状態になるのを 何とかできないかな・・・と。 ご存知の方いらしたらお願いいたします。

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

  • ベストアンサー
  • xdaix
  • ベストアンサー率66% (2/3)
回答No.1

シートを切り替えたタイミングで良いなら Private Sub Worksheet_Activate() ToggleButton1 = Me.ProtectContents End Sub

noname#101292
質問者

お礼

ありがとうございます。 えーっと、シートを一瞬切り替えるというプログラムを 組み合わせれば・・・できそうですね。 参考になりました。

その他の回答 (1)

noname#185804
noname#185804
回答No.2

ご質問の意図と違うかも知れませんが 保護ツールバーを使うのはどうでしょうか? ご質問のようにメニューバーから保護した場合 トグルボタンの動作は連動しないですし シート保護を認識するVBAのイベントもないので マクロではなく保護ツールバーを使用すれば シートの保護状態も目視出来るかと思ったので。 若しくはメニューバーやツールバーを作成して メニューバーやツールバーから保護・解除した場合 トグルボタンの状態も変更するマクロを書く。

noname#101292
質問者

お礼

ありがとうございます。 そうですね。それが一番、スマートではありますね。 選択肢に入れて考えたいと思います。 ただ、あのツールバーが「誰にでも保護を目視できる」状態かは 難しいところですね・・・。 本当に色々な人が使う可能性があるもので・・・。

関連するQ&A

専門家に質問してみよう