|  
                                             
	Wenn es wirklich um die Namen geht, dann rate ich gleich schon mal davon ab. Die müssen nämlich einzigartig sein. Sobald also ein Name gesetzt wird, der schon vergeben ist, dann knirscht es (idR. in Form eines Laufzeitfehlers). 
	Wenn es nur um die Bezeichnungen geht, dann hier 2 Beispiele (je nachdem was du für eine Art von CheckBox verwendest): 
Option Explicit
'wenn die Checkboxen >ActiveX-Steuerelemente< sind
Sub test_ole()
  
  Dim names() As Variant
  Dim ole As OLEObject
  Dim i As Long
  
  'Namen können auch aus einer Range kommen
  names = Array("Beschriftung-01", "Beschriftung-02", "Beschriftung-03")
  
  With Worksheets(1)
    
    For Each ole In .OLEObjects
      If TypeName(ole.Object) = "CheckBox" Then
        If i <= UBound(names) Then
          Debug.Print Format$(i + 1, "00") & ": " & ole.Object.Caption & " => " & names(i)
          ole.Object.Caption = names(i)
          i = i + 1
        Else
          Exit For 'exit da keine Namen mehr übrig
        End If
      End If
    Next
    
    If i > 0 Then
      Call MsgBox("Fertig", vbInformation)
    Else
      Call MsgBox("keine Treffer", vbInformation)
    End If
    
  End With
  
End Sub
'wenn die Checkboxen >Formularsteuerelemente< sind
Sub test_formular()
  
  Dim names() As Variant
  Dim shp As Excel.Shape
  Dim i As Long
  
  'Namen können auch aus einer Range kommen
  names = Array("Beschriftung-01", "Beschriftung-02", "Beschriftung-03")
  
  With Worksheets(1)
    
    For Each shp In .Shapes
      If shp.Type = msoFormControl Then
        If shp.FormControlType = xlCheckBox Then
          If i <= UBound(names) Then
            Debug.Print Format$(i + 1, "00") & ": " & shp.OLEFormat.Object.Caption & " => " & names(i)
            shp.OLEFormat.Object.Caption = names(i)
            i = i + 1
          Else
            Exit For 'exit da keine Namen mehr übrig
          End If
        End If
      End If
    Next
    
    If i > 0 Then
      Call MsgBox("Fertig", vbInformation)
    Else
      Call MsgBox("keine Treffer", vbInformation)
    End If
    
  End With
  
End Sub
	  
     |