AW: Formularelemente löschen
24.12.2003 17:46:44
björn sippel
Hallo Michael,
ganz einfach:
Den Code(unten) starte ich einfach wiederholt an.
Beim 2. Durchlauf kommt die Fehlermeldung, das die Elemente bereits existieren.
Da wollte ch einfach die vorher angelegten controls löschen ...
Das Formular frmTageslisten (ohne controls) existiert bereits.
*************************************************************************
Sub Userform_anlegen()
Dim jj As Variant
Dim kk As Variant
jj = Array("z1", "z2", "z3")
kk = Array("c1", "c2", "c3")
Dim vbp As Object
Dim i As Integer, h As Integer
Dim cmd1 As MSForms.CommandButton
Application.VBE.MainWindow.Visible = False
On Error Resume Next
Set frmnew = ThisWorkbook.VBProject.vbcomponents("frmTageslisten").Designer
If Err <> 0 Then GoTo ErrorHandler
On Error GoTo 0
'löschen der controls im formular
Set frmnewx = ThisWorkbook.VBProject.vbcomponents("frmTageslisten").Designer
Dim xxx As Object
With frmnewx
h = .Controls.Count
For i = 0 To h
'-->>erzeugr Fehler: ThisWorkbook.VBProject.vbcomponents.Remove xxx.Controls(i)
Next
End With
'********ende löschen*****************
'uber schleife 3 buttons einfügen
For p = 0 To 2
With frmnew.Controls
Set cmd1 = .Add("Forms.commandbutton.1")
With cmd1
.Caption = jj(p)
.Accelerator = "o"
.Width = 30
.Height = 19
.Left = 30 + 35 * p
.Top = 10
.Name = kk(p)
End With
End With
Next
ErrorHandler:
'frmTageslisten.Show
'UserForms.Name).Show
End Sub