Hallo zusammen,
ich habe folgendes Problem. Ich hatte vor ca. 3 Monaten ein relativ großes Makro geschrieben, das zu seiner Zeit fehlerfrei funktionierte. Jetzt wollte ich das Makro erweitern, und auf einmal läuft das Makro nicht mehr fehlerfrei. Leider konnte ich den Fehler bis jetzt nicht lösen, aber zumindest lokalisieren.
Das Makro ruft ein UserForm auf, übergibt bei Click auf einen Button in selbigem UserForm die Daten an ein Tabellenblatt, wonach sich das UserForm wieder schließt. So sollte es zumindest sein. Stattdessen scheint die Unload Me-Anweisung die QueryClose-Funktion aufzurufen, die ich eingebaut hattee, damit der User entscheiden kann, das durch das Öffnen des UserForm generierte Tabellenblatt doch wieder zu löschen.
Als Code sieht das Ganze so aus:
Private Sub CommandButton1_Click()
.
.
.
Unload Me
End Sub
________________________________________________________________________________________________________________
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode <> 1 Then Cancel = 1
If MsgBox("Soll das neu generierte Schichtprotokoll wieder gelöscht werden?", vbOKCancel, "Meldung") = vbOK Then
Application.DisplayAlerts = False
Worksheets(3).Delete
Application.DisplayAlerts = True
Cancel = 0
End If
End Sub
Entferne ich das Unload Me aus dem Quellcode, wird das QueryClose-Event nicht aufgerufen, aber natürlich schließt sich das UserForm dann nicht. Wo liegt hier der Fehler? Kann mir jemand helfen? Vielen Dank im Voraus. |