使用VBA宏从Excel工作簿中取消选中所有复选框

use*_*460 6 checkbox excel vba unselect

我有一个包含100多个复选框的工作簿.

它们是表单控件复选框

我想一次取消选择它们

这将它们设置为false.

 Sub clearcheck()
 ActiveSheet.CheckBoxes.Value = False
 End Sub
Run Code Online (Sandbox Code Playgroud)

这适用于活动工作表.我希望这段代码适用于整个工作簿

我已经尝试寻找代码并搞清楚清除复选框但不是更明智的.

如果有人能指导我,我真的很感激

谢谢

Gar*_*ent 11

如果您有OLEObject样式(ActiveX)复选框,则:

Sub terranian()
    Dim o As Object
    For Each o In ActiveSheet.OLEObjects
        If InStr(1, o.Name, "CheckBox") > 0 Then
            o.Object.Value = False
        End If
    Next
End Sub
Run Code Online (Sandbox Code Playgroud)

EDIT1:

如果它们是表单复选框,则以下内容将起作用:

Sub clearcheck()
    Dim sh As Worksheet
    For Each sh In Sheets
        On Error Resume Next
            sh.CheckBoxes.Value = False
        On Error GoTo 0
    Next sh
End Sub
Run Code Online (Sandbox Code Playgroud)