Checkboxen in UserForm im Frame löschen
29.01.2025 12:00:52
MarkoK
im Forum habe ich schon viel gestöbert und viele Sachen ausprobiert, leider mit mäßigem Erfolg.
In meiner Subroutine sollen in der UserForm2 im Frame4 alle vorhandenen Checkboxen gelöscht werden und danach neue erstellt werden.
Der Grund hierfür ist, dass nach einem Change-Ereignis die Anzahl der Checkboxen sich ändert.
Das Anlegen neuer Checkboxen funktioniert.
Meine Herausforderung an euch ist das Löschen der vorhandenen Checkboxen. Es kommt die Fehlermeldung
Laufzeitfehler '438": Objekt unterstützt diese Eigenschaft oder Methode nicht
Könnt ihr mir bitte für das Löschen die korrekte Schreibweise mitteilen?
Anbei mein VBA-Code:
Sub checkbox()
Dim ob As Object
Dim Left, Top, Height, Width As Integer
Dim i As Byte
Left = 6
Top = 6
Height = 18
Width = 90
For Each ob In UserForm2.Frame4.controls
If TypeName(ob) = "CheckBox" Then ob.Control.Remove ' Fehlermeldung Laufzeitfehler '438": Objekt unterstützt diese Eigenschaft oder Methode nicht
Next ob
With UserForm2.Frame4
For i = 1 To UBound(namen)
Set mycontrol = .controls.Add("Forms.Checkbox.1")
mycontrol.Left = Left
mycontrol.Top = Top
mycontrol.Height = Height
mycontrol.Width = Width
mycontrol.Name = "CheckBox" & i
mycontrol.Font.Size = 10
mycontrol.Caption = namen(i)
Top = Top + 15
If i = 10 Then Top = 6: Left = 100
Next i
End With
End Sub
Anzeige