OMG, 500 checkboxes???
I would suggest a different approach, ie using a special character for emulating a checkbox; for example (this is a demo):
-select 3 free cells
-run the following code:
VBA Code:
Sub MakeCB()
Selection.Value = Chr(111)
Selection.Font.Name = "Wingdings"
Selection.Interior.Color = RGB(255, 255, 150)
End Sub
At this point the selected cells will look like a checkbox
-rightclick on the tab with the name of the worksheet, and select View Code to open the vba editor at "the right position"
-copy this code into the empty code frame
VBA Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Font.Name = "Wingdings" And Len(Target.Value & " ") = 2 Then
On Error Resume Next
If Asc(Target.Value) = 254 Then
Target.Value = Chr(111)
ElseIf Asc(Target.Value) = 111 Then
Target.Value = Chr(254)
End If
On Error GoTo 0
End If
Cancel = True
End Sub
Now return to the sheet and double click on any of the "checkboxes": it will flip betwen the checked /unchecked condition
If you copy & past a "checkbox" the behaviour will also be copied
The "linked cell" is the cell itself; it contains a special character whose Asc value is 254 if "checked" or 111 for "unchecked"
If you like the approach, just try...
(this in addition to what already suggested by
@ouvay above)