0

チェックボックスの状態に基づいて Excel ワークブックが閉じないようにしようとしています。

「ThisWorkbook」に配置されている私のサンプルコード:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If CheckBox0.Value = "FALSE" Then
    b = MsgBox("Are you sure that you want to submit?", vbYesNo)
    End If
    If b = vbNo Then Cancel = True

End Sub

現時点では、実行時エラー 424 が発生し、必要なオブジェクトがあり、デバッグ ポイントが IfCheckBox0.Value.....行にあります。

何が間違っているのかわかりません。私は通常の VBA ユーザーではありません。

助けてください。

4

1 に答える 1

1

埋め込みチェックボックス (ActiveX) を使用していると思います。その場合、チェックボックスが存在するシートを指定する必要があります。複数のシートに含めるCheckbox0ことができるため、単に言うことはできません。Checkbox0

"False"もう1つは、文字列ではなくブール値であるためチェックできないFalseため、固有のVBAキーワードであるため、そのまま使用できます。

ここにあなたが探していると思うものがあります:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim b As Long
    If (Sheets("Sheet1").CheckBox1.Value = False) Then
        b = MsgBox("Are you sure that you want to submit?", vbYesNo)
    End If

    If b = vbNo Then Cancel = True
End Sub

編集:

"Sheet1"チェックボックスが存在するシート名に切り替えることを忘れていました。

于 2012-12-19T20:20:48.153 に答える