- ベストアンサー
Excel VBAからトグルボタンを押下状態にしたい
タイトルの通りなのですが、 シートにトグルボタンを設置し、それを押すのではなく VBAから押下状態にするにはどうしたら良いのでしょうか。 具体的にどう使いたいかと言いますと、 「このシートは保護されているよ」という状態を 簡単に目視できるようにしたいために、 押すとシート保護、もう一度押すと解除というトグルボタンを つけたものの、 ツールバーからシート保護をしたら、「トグルボタンは押されてないけど シートは保護はされているという気持ち悪い状態になるのを 何とかできないかな・・・と。 ご存知の方いらしたらお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
シートを切り替えたタイミングで良いなら Private Sub Worksheet_Activate() ToggleButton1 = Me.ProtectContents End Sub
その他の回答 (1)
noname#185804
回答No.2
ご質問の意図と違うかも知れませんが 保護ツールバーを使うのはどうでしょうか? ご質問のようにメニューバーから保護した場合 トグルボタンの動作は連動しないですし シート保護を認識するVBAのイベントもないので マクロではなく保護ツールバーを使用すれば シートの保護状態も目視出来るかと思ったので。 若しくはメニューバーやツールバーを作成して メニューバーやツールバーから保護・解除した場合 トグルボタンの状態も変更するマクロを書く。
質問者
お礼
ありがとうございます。 そうですね。それが一番、スマートではありますね。 選択肢に入れて考えたいと思います。 ただ、あのツールバーが「誰にでも保護を目視できる」状態かは 難しいところですね・・・。 本当に色々な人が使う可能性があるもので・・・。
お礼
ありがとうございます。 えーっと、シートを一瞬切り替えるというプログラムを 組み合わせれば・・・できそうですね。 参考になりました。