Query Close

Hallo Zusammen
Ein kleine Frage, die wie ich hoffe für euch kein Problem darstellen wird.

Ich arbeite mit VBA und habe folgendes Problem:

Ich möchte, dass beim klicken auf das rote X bei meiner UserForm noch ein Code ausgeführt wird.
Dabei gebrauche ich folgende Methode:


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

End Sub


Nun möchte ich, dass bevor die UserForm geschlossen wird, eine neue gestartet wird, und danach die aktive UserForm geschlossen wird.
Ich habe es folgendermassen versucht:


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

Unload Me

UserForm2.Show

End Sub


Nur das Problem ist, dass erst am Ende der QuerClose-Prozedur die UserForm geschlossen wird.

Geht das trotzdem irgendwie?

Danke für die Hilfe

Jochen

Hallo Jochen.

Du könntest folgendermaßen vorgehen:

Füge bitte dem VBA-Projekt ein Modul hinzu und schreibe dort folgenden Code hinein:

 Dim Form1 As UserForm1 'Name bitte ggf. anpassen
 Dim Form2 as UserForm2 'Name bitte ggf. anpassen

Schreibe bitte den Aufruf der 1. UserForm folgendermaßen um:

 Dim nf As New UserForm1 'Name bitte ggf. anpassen
 Set Form1 = nf
 Form1.Show

Verwende bitte zum Aufruf der 2. UserForm das Terminate-Ereignis der 1. UserForm:

Private Sub UserForm\_Terminate()
 Dim nf As New UserForm2 'Name bitte ggf. anpassen
 Set Form2 = nf
 Form2.Show
End Sub

Dann sollte es schon so funktionieren wie gewünscht.

VG
Carsten