• ベストアンサー

Excel VBAで「こういう状態の時にトグルボタン押下」は?

Excelで、シートの保護をするためのトグルボタンをつけています。 (押してある時は保護) よく考えたら、ツールバーから保護された時にも ボタンが押下状態にならないと使いづらいのではないかと思い、 If ActiveSheet.protect Then ボタン名 = True End If If ActiveSheet.Unprotect Then ボタン名 = False End If とやってみたんですが、うまく機能しません。 どうしたら良いのでしょうか?

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

  • ベストアンサー
  • yokomaya
  • ベストアンサー率40% (147/366)
回答No.1

そのコードはどこに記述したんですか?どの段階で実行される部分に? 恐らく文から想像するにツールバーから保護された時にもとありますからそこの時点でイベントが起きる必要ありますよね。そういうクラスモジュールを書けば実現出来るのではないかと想像しますが詳しくないので回答まではできません。

noname#101292
質問者

補足

ありがとうございます。 普通にトグルボタンを押したら保護、というプログラムを書いて (そこはもちろん機能しています) そのすぐ次に書いただけです。 Private Sub シートの保護_Click() 'トグルボタンを押すとシート保護 If ボタン名 = True Then ActiveSheet.Select ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End If 'シート保護解除 If ボタン名 = False Then ActiveSheet.Unprotect End If 'ツールバーからシート保護された時にボタンを押下状態にする If ActiveSheet.Protect Then ボタン名 = True End If 'ツールバーからのシート保護解除時にトグルボタンを元に戻す If ActiveSheet.Unprotect Then ボタン名 = False End If End Sub If ActiveSheet.protect Then ボタン名 = True End If という風に。 ボタンの状態をコントロールする、というのは、 どうしたら良いのでしょうか。・・・できるのでしょうか。

関連するQ&A