Hallo meine Lieben,
ich habe bei der dynamischen Erstellung meiner UserForm ein Problem. Ich kann die UserForm1 dynamisch erstellen, aber nicht sofort anzeigen lassen.
Dies hat zur Folge, dass ich meine Prozedur Anzeigen 2 mal starten muss, damit die dynamisch erzeugte UserForm1, das erste Mal angezeigt wird.
(woraufhin, dann als kleine Nebenwirkung noch eine 2 UserForm2 durch die Prozedur CreateUserForm erstellt wird)
Wie kriege ich es hin, damit meine gerade erstellte UserForm1 auch gleich angezeigt wird?
Code zum Löschen der Userformen:
ich habe bei der dynamischen Erstellung meiner UserForm ein Problem. Ich kann die UserForm1 dynamisch erstellen, aber nicht sofort anzeigen lassen.
Dies hat zur Folge, dass ich meine Prozedur Anzeigen 2 mal starten muss, damit die dynamisch erzeugte UserForm1, das erste Mal angezeigt wird.
(woraufhin, dann als kleine Nebenwirkung noch eine 2 UserForm2 durch die Prozedur CreateUserForm erstellt wird)
Wie kriege ich es hin, damit meine gerade erstellte UserForm1 auch gleich angezeigt wird?
Code:
Sub Anzeigen()
'Muss diese Prozedur 2 mal durchlaufen lassen, damit die UserForm1 aus CreateUserForm angezeigt wird.
On Error Resume Next
CreateUserForm
UserForm1.Show
End Sub
Sub CreateUserForm()
'Erzeugt zwar eine Userform, aber wie kann ich diese dann auch sofort anzeigen lassen?
Dim mynewform As Object
Set mynewform = Application.VBE.ActiveVBProject.VBComponents.Add(3)
With mynewform
.Properties("Height") = 246
.Properties("Width") = 616
.Name = "UserForm1"
.Properties("Caption") = "Testlauf"
End With
Code zum Löschen der Userformen:
Code:
Sub LöscheUserformen()
'verbesserungswürdig, löscht erstMal im Rundumschlag bis zu 10 UserFormen!
On Error Resume Next
Dim i As Integer
For i = 1 To 10
Application.VBE.ActiveVBProject.VBComponents.Remove _
Application.VBE.ActiveVBProject.VBComponents.Item("UserForm" & i)
Next
End Sub