Hi kknie,
The problem is because you are apparently using Forms controls (built-in to Excel and available from the Forms toolbar) rather than ActiveX controls (available to all MS Office applications and available from the Controls toolbar). These are two totally different types of controls. The Forms controls are in the Shapes object collection as you mentioned, while the ActiveX controls are in the OLEObjects collection. The reason I though you were using ActiveX controls is that you mentioned a CommandButton. The Forms controls set does not include a "CommandButton", but only a "Button". It is quite easy to write code to name all the Forms controls, just as my code named all the ActiveX controls. Here is an example similar to the one I provided for ActiveX controls. This names all the buttons and checkboxes on the active worksheet.
Sub NameFormcontrols()
Dim Ctl As Shape
Dim NoBtn As Integer
Dim NoCbx As Integer
NoCbx = 0: NoBtn = 0
For Each Ctl In ActiveSheet.Shapes
If Ctl.Type = msoFormControl Then
Select Case Ctl.FormControlType
Case xlCheckBox
NoCbx = NoCbx + 1
Ctl.Name = "MyCheckBox" & NoCbx
Case xlButtonControl
NoBtn = NoBtn + 1
Ctl.Name = "MyBtn" & NoBtn
End Select
End If
Next Ctl
End Sub