excel-add-checkboxes-based-on-existing-data

Excel - Add Checkboxes Based On Existing Data

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

Excel

  • 3100
  • 1851
  • 0
  • 0
Add to collection
© 2025VBAmacros.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!


Advertisement

Code
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
        chk.Delete
    Next chk
    ' Use the first worksheet in the workbook
    With Worksheets(1)
        ' Delete old values
        .Range("D2:D1048576").ClearContents
        ' 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
Advertisement


Comments
Sort by:
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Advertisement
  • Created
    21-May-2020
  • Last updated
    21-May-2020
Advertisement
VBAmacros.net VBAmacros.net
Code was successfully copied!
VBAmacros.net VBAmacros.net
Please sign in!
VBAmacros.net VBAmacros.net
You've already voted!