『マクロの記述』(夏雲) ツールバーにあるコントロールボックスの例えば,CheckBoxを使って チェックボックスをチェックした場合に下記のように実行できます。 Private Sub CheckBox1_Click() If CheckBox1.Value = True Then MsgBox "今日は曇り" End Sub 一方,ツールバーのフォームの「チェック」を使った場合には Sub チェック1_Click() If チェック1.value = True Then MsgBox "今日は晴れ" End Sub としても,エラーになります。 if文の内部がおかしいのですが,どのように記述したらいいのでしょうか。 ---- 書き方の違いの参考になると思います。 http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=157;id=FAQ (Jaka) ---- フォームのチェックボックスのValueはTrue/Falseではないようですよ。 調べたところ、「1か-4146」でした。 なので、↓ Sub チェック1_Click() If ActiveSheet.CheckBoxes("チェック 1").Value = 1 Then MsgBox "今日は晴れ" End Sub (半平太) ---- おまけ。 (Jaka) If ActiveSheet.Shapes("チェック 1").OLEFormat.Object.Value = xlOn Then MsgBox "チェック 1 ON" Else MsgBox "チェック 1 OFF" End If If ActiveSheet.Shapes("チェック 2").OLEFormat.Object.Value = xlOff Then MsgBox "チェック 2 OFF" Else MsgBox "チェック 2 ON" End If ---- (半平太)さんの方法を利用させていただきました。(夏雲) ありがとうございました。