This adds checkboxes from the Forms toolbar to column A rows 2 to 30.
Option Explicit
Sub Testme()
Dim CBX As CheckBox
Dim myRange As Range
Dim wks As Worksheet
Dim iRow As Long
Dim FirstRow As Long
Dim LastRow As Long
Dim WhatCol As String
Set wks = ActiveSheet
FirstRow = 2
LastRow = 20
WhatCol = "A"
With wks
'remove any existing checkboxes
.CheckBoxes.Delete
For iRow = FirstRow To LastRow
With .Cells(iRow, WhatCol)
Set CBX = .Parent.CheckBoxes.Add _
(Top:=.Top, _
Left:=.Left, _
Height:=.Height, _
Width:=.Width)
CBX.LinkedCell = .Address(external:=True)
.NumberFormat = ";;;"
End With
With CBX
.Name = "CBX_" & .TopLeftCell.Address(0, 0)
.Caption = ""
End With
Next iRow
End With
End Sub
It also assigns the linke cell to the cell that holds that checkbox -- but by
using a number format of ";;;", it's hidden from the worksheet. You can see it
in the formulabar when you select the cell.