Hello Dan,
Here are the macros to add the check boxes into column "I" if the cell in column "B" isn't empty.
Sub AddCheckBoxToCell(Ref_Cell As Range)
Dim ChkBox As CheckBox
Dim N As Double
With Ref_Cell.Cells(1, 1)
refLeft = .Left
refTop = .Top
refHeight = .Height
End With
Set ChkBox = ActiveSheet.CheckBoxes.Add(10, 10, 15, 12)
N = (refHeight - ChkBox.Height) / 2#
With ChkBox
.Caption = ""
.Top = refTop + N
.Left = refLeft
.OnAction = ""
End With
End Sub
Sub AddCheckBoxes()
Dim BoxCol As Variant
Dim CtrlCol As Variant
Dim LastRow As Long
Dim R As Long
Dim StartRow As Long
BoxCol = "I" 'Column where Check Box is inserted
CtrlCol = "B" 'Column that controls if Check Box is inserted
StartRow = 1
LastRow = Cells(Rows.Count, CtrlCol).End(xlUp).Row
For R = StartRow To LastRow
If Cells(R, CtrlCol) <> "" Then
AddCheckBoxToCell Cells(R, BoxCol)
End If
Next R
End Sub
Adding the Macro
1. Copy the macro above pressing the keys CTRL+C
2. Open your workbook
3. Press the keys ALT+F11 to open the Visual Basic Editor
4. Press the keys ALT+I to activate the Insert menu
5. Press M to insert a Standard Module
6. Paste the code by pressing the keys CTRL+V
7. Make any custom changes to the macro if needed at this time
8. Save the Macro by pressing the keys CTRL+S
9. Press the keys ALT+Q to exit the Editor, and return to Excel.
To Run the Macro...
To run the macro from Excel, open the workbook, and press ALT+F8 to display the Run Macro Dialog. Double Click the macro's name to Run it.
Sincerely,
Leith Ross
Bookmarks