|  
                                             
	Nun, ich weiß ich was ich da groß erklären soll. Der Code ist selbsterklärend bzw. nicht weiter kompliziert. 
Private Function GetIndex(Cbo As MSForms.CheckBox) As Long
  Dim str As String
  Dim i As Long
  For i = Len(Cbo.Name) To 1 Step -1
    Select Case Mid$(Cbo.Name, i, 1)
      Case "0" To "9"
        str = Mid$(Cbo.Name, i, 1) & str
      Case Else
        Exit For
    End Select
  Next
  GetIndex = CLng(str)
End Function
	Das einzige was vielleicht relevant wäre, wäre die Schleife und Select Case. 
	- 
		die For-Schleife läuft rückwärts durch das Step -1. Es wird also der Name der CheckBox von hinten Zeichenweise (Mid$( , ,1)) durchlaufen und wenn dies eine Ziffer ist, dann wird sie nach str übernommen. Es wird also der Index aus dem Namen extrahiert (z.B. aus CheckBox123 -> str = "123")
 
	- 
		und Select Case ist offensichtlich das Switch-Statement aus Java
 
 
	  
	>> aber Cbo As MSForms.CheckBox? Ist MSForms.CheckBox dann sozusagen mien Variablentyp?  
	Richtig. 
	MSForms ist übrigens der Bibliothekname. Insofern kein anderer Datentyp CheckBox im Projekt existiert, könnte man sich dies also sparen (aus Angewohnheit schreibe ich so etwas jedoch immer davor). 
	Wirf am besten mal auch einen Blick in den Objektkatalog (F2 Taste im VBA-Editor; oder Menü Ansicht). 
	  
	Drück mal im VBA-Editor die F1 Taste (vorher alle Codefenster schließen, auch ggf. UserForms) und schau dir die Grundlagen der Programmiersprache an. 
	  
	  
	>> Andere Frage: Ich habe immer im Internet gelesen, dass man die Formular-Steuerelemente nicht über VBA prorgammieren kann, das habe ich dann wohl falsch verstanden oder? Dann werde ich mir die auf jeden Fall auch nochmal anschauen.  
	Das ist teilweise richtig, aber auch nur zum Teil. Man kann an diese ein Makro binden (OnAction); idR. wird dieses dann bei einem Click darauf ausgeführt. 
	Manchmal eigenen sich diese jedoch besser als ActiveX-Steuerelemente. Und so einen Fall liegt bei dir vor. 
	kl. Beispiel: (Erstell ein CheckBox (Formular-Steuerelement), rechtsklicke drauf und weise ihm das untrige Makro zu - dies kannst beliebig oft tun) 
'in einem Modul platzieren
Option Explicit
Sub CheckBox_OnAction()
  
  Dim shp As Excel.Shape
  
  Select Case VarType(Application.Caller)
    Case vbString
      On Error Resume Next
      Set shp = ActiveSheet.Shapes(Application.Caller)
      On Error GoTo 0
    Case Else
      Exit Sub
  End Select
  
  If shp Is Nothing Then
    Call MsgBox("Application.Caller = '" & Application.Caller & "' nicht gefunden.", vbCritical)
    Exit Sub
  End If
  
  If shp.Type = msoFormControl Then
    If shp.FormControlType = xlCheckBox Then
      Call MsgBox("'" & shp.Name & "' ist eine CheckBox.", vbInformation)
    Else
      Call MsgBox("'" & shp.Name & "' ist ein Formular-Steuerelement, jedoch keine CheckBox.", vbInformation)
    End If
  Else
    Call MsgBox("'" & shp.Name & "' ist keine Formular-Steuerelement.", vbInformation)
  End If
  
End Sub
	  
     |