Excel - Add Checkboxes Based On Existing Data

This macro adds a checkbox to the worksheet based on existing data.


  • 1701
  • 1173
  • 0
  • 0
Add to collection
© 2023VBAmacros.net

1 Open MS Excel.

2 Create a blank workbook.

3 Go to Developer's tab > click on "Visual Basic" button or hit Alt + F11.

4 Go to Insert tab > click on "Module" or hit M.

5 Copy the VBA code from below.

6 Paste the code in the newly created module.

7 Go to Run tab > click on "Run Sub/UserForm" or hit F5.

8 That's it!


Option Explicit
' Add Checkboxes
Sub addCheckBoxes()
    ' Set variables
    Dim c As Range
    Dim chk As CheckBox
    ' Delete old CheckBoxes
    For Each chk In Worksheets(1).CheckBoxes
    Next chk
    ' Use the first worksheet in the workbook
    With Worksheets(1)
        ' Delete old values
        ' Loop in column "C"
        For Each c In Range("C2:C" & Cells(1048576, 1).End(xlUp).Row)
        ' Check if there are any values in column "C"
            If c <> "" Then
                ' Insert CheckBoxes
                Set chk = .CheckBoxes.Add(c.Offset(0, 1).Left, c.Top - 2, 1, 1)
                ' Delete CheckBoxes Caption
                chk.Caption = ""
                ' Link to next cell
                chk.LinkedCell = c.Offset(0, 1).Address
            End If
        Next c
    End With
End Sub

Sort by:
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
VBAmacros.net VBAmacros.net
Code was successfully copied!
VBAmacros.net VBAmacros.net
Please sign in!
VBAmacros.net VBAmacros.net
You've already voted!