Application.run mit Sprungmarke
14.10.2005 14:37:25
Michael
Ich habe ein Makro, welches Daten löscht. Zu Beginn wird eine MsgBox ausgegeben, die den User fragt ob er wirklich löschen will.
Es handelt sich um überschreibbare Formeln, die ncht geschützt sind. Bevor jemand die Datei speichert, rufe ich das Makro auf (Sub Workbook_BeforeSave). Im BeforeSave gebe ich eine andere MsgBox aus und führen dann den Application.Run aus. Da der User jetzt beim Löschmakro theoretisch auf abbrechen klicken kann, sind meine Formeln für immer dahin. Ich möchte daher an einer Sprungmarke ins Makro einsteigen.
Beispiel:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox ("Die eingegebenen Daten in den blauen Feldern werden vor dem speichern gelöscht!")
Application.Run ("LFR_4_KEA.XLS!Formeln_wiederherstellen")
End Sub
Sub Formeln_wiederherstellen()
'Abfragen ob sich der User über sein Tun im Klaren ist
'====================================================
Dim Mldg, Stil, Titel, Antwort, Text1
Mldg = "Möchten Sie fortfahren ? Alle Ihre Eingaben werden unwiederbringlich gelöscht!" ' Meldung definieren.
Stil = vbYesNo + vbCritical + vbDefaultButton2 ' Schaltflächen
' definieren.
Titel = "Eingaben im Luftfrachtrechner löschen" ' Titel definieren.
Antwort = MsgBox(Mldg, Stil, Titel) ' Meldung anzeigen.
If Antwort = vbYes Then ' Benutzer hat "Ja" gewählt.
GoTo weiter
Else ' Benutzer hat "Nein" gewählt.
GoTo abbrechen
End If
'Hier gehts weiter wenn der User "ja" gewählt hat
'================================================
weiter:
Code zum Löschen
goto ende
abbrechen:
ende:
End Sub
Ich möchte nun eben im BeforeSave bei der Sprungmarke weiter: einsteigen. Wie geht das?!?
Freue mich auf Eure konstruktiven Vorschläge. Danke.
Gruß
Michael