Search code examples
excelvbacheckboxunselect

Unselect All CheckBoxes From Excel Workbook with VBA Macro


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 them to false.

 Sub clearcheck()
 ActiveSheet.CheckBoxes.Value = False
 End Sub

This works for the active sheet. I would like this code to be for the whole workbook

I have tried looking for the code and messing about with clearing the checkboxes but am none the wiser.

I would really appreciate if some one could guide me

thank you


Solution

  • 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