Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
772to776
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

vbYesNoCancel

vbYesNoCancel
13.06.2006 21:23:08
Bräuer
Hallo zusammen,
hab da eine Umsetzungsproblem beim nachbilden einer Speicherabfrage mittels vbYesNoCancel –MsgBox.
Hab zu dem Thema auch nix gefunden.
So, bei schließen der Arbeitsmappe über FENSTER SCHLIEßEN wird Private Sub Workbook_BeforeClose(Cancel As Boolean) aktiv und eine vbYesNoCancel- MsgBox aufgerufen, welche auf soweit funktioniert.
Bei Ja, werden einige Sub´s abgearbeitet, die Arbeitsmappe gespeichert und geschlossen.
Bei Abbrechen wird cancel = true ausgeführt und alles bleibt wie bisher.
Bei Nein hab ich das Problem das ich noch einige Sub´s abarbeiten möchte und nur diese jetzt erzeugten Änderungen speichern möchte, aber nicht die vorhergehenden.
Muss also, denke ich zumindest, die Änderungen verwerfen welche vom Zwischenspeichern bis zum Betätigen des Nein -Buttons in der MsgBox angefallen sind Rückgängig machen.
Dann die Sub´s ausführen die Arbeitsmappe speichern und beenden.
Oder ?
Wie geht den so Was ?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vbYesNoCancel
13.06.2006 22:11:12
Matthias
Hallo Markus,
Bei Nein hab ich das Problem das ich noch einige Sub´s abarbeiten möchte und nur diese jetzt erzeugten Änderungen speichern möchte, aber nicht die vorhergehenden.
Das hab ich nicht ganz verstanden... Welche vorhergehenden?
Du kannst die Standard-Speicherroutine umgehen, wenn du innerhalb der Before-Close-Routine die Mappe speicherst:
Ansatz:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error GoTo errhandler
Select Case MsgBox("Frage?", vbYesNoCancel)
Case vbYes
'tu dies
Application.EnableEvents = False
ThisWorkbook.Save
Application.EnableEvents = True
Case vbNo
'tu das
Application.EnableEvents = False
ThisWorkbook.Save
Application.EnableEvents = True
Case vbCancel
Cancel = True
End Select
Exit Sub
errhandler:
Application.EnableEvents = True
MsgBox Err.Description, vbCritical, "Fehler " & Err.Number
End Sub

So, und nun weiter Fußball gucken... ;-)
Gruß Matthias
Anzeige
AW: vbYesNoCancel
14.06.2006 17:34:58
Bräuer
Hallo Matthias,
eben nicht so !!!
Also ich öffne neine Arbeitsmappe mache verschiedene Einträge und Speicher diese ab (z.B. manuell).
Änder noch so dies und das und schließe die Arbeitsmappe.
Jetzt kommt der Dialog mit vbYesNoCancel.
Nach betätigen des NEIN -Buttons möchte ich nätürlich nicht die Änderungen nach dem Speichervorgang übernehmen sondern verwerfen.
Allerdings möchte ich jetzt noch das Arbeisblatt mittels VBA bearbeiten und nur noch diese Änderungen speichern.
Für alle Bemühungen bereits besten Dank im Voraus
AW: vbYesNoCancel
14.06.2006 17:56:41
Matthias
Hallo Markus,
Allerdings möchte ich jetzt noch das Arbeisblatt mittels VBA bearbeiten und nur noch diese Änderungen speichern.
Wieso machst du diese VBA-Eingriffe nicht vor jedem Speichern in der Before_Save()-Routine?
Irgendwie erkenne ich da keine Logik...
Gruß Matthias
Anzeige

136 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige