I have a workbook with over 100 checkboxes.
They are form control checkboxes
I would like to un-select them all at once
that is set
If you have OLEObject-style (ActiveX) checkboxes, then:
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
EDIT1:
If they are forms checkboxes , then the following will work:
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
The selected answer is perfect, but I needed the ability to clear the active sheet OR all check-boxes via buttons for form checkboxes. Putting both sub routines inside of one "Module" worked for me. Then I created a button for each action, and mapped to the individual sub-routines.
'Uncheck all checkboxes in entire excel workbook
Sub uncheck_all()
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
'Uncheck all checkboxes in active sheet
Sub uncheck_active_sheet()
ActiveSheet.Checkboxes.Value = False
End Sub