Aber ich habe eine frage dazu ?
Warum kann ich diese zeile nicht gleich nach dem erstellen der Checkboxen Laufen lassen ? Es kommt zu einem fehler wenn ich diese Zeile nicht ausklammere?
Set cCheck(i).CheckBox = CoCb
Aber in der Schleife geht Sie ? Warum ist das so ?
For Each CoCb In Me.Controls
Option Explicit
Dim cCheck() As New clsCheck ' Name für Klasseprogrammierung CheckBox
Private Sub UserForm_Initialize()
Dim CoCb As Control
Dim InI As Integer
Dim toop
Dim i As Integer, obTemp As MSForms.CheckBox
toop = 1
ReDim aCommands(3)
For i = 1 To 3
Set obTemp = Me.Controls.Add("Forms.CheckBox.1", "cmd" & 1, True)
obTemp.Width = 100
obTemp.Height = 25
obTemp.Top = toop
toop = toop + 26
obTemp.Caption = Cells(i, 1)
obTemp.ControlTipText = Cells(i, 1)
' Set cCheck(i).CheckBox = CoCb
Set obTemp = Nothing
Next i
For Each CoCb In Me.Controls ' Schleife über alle Steuerelemente der _
UserForm
If TypeName(CoCb) = "CheckBox" Then ' Typ des Steuerelemenetes prüfen
ReDim Preserve cCheck(0 To InI) ' Neudimensionierung des Array
Set cCheck(InI).CheckBox = CoCb ' CheckBoxen zur Klasse zusammenfassen
InI = InI + 1 ' Zähler für das Array
End If
Next CoCb
End Sub
Vielen Dank im voraus an alle Helfer !