Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Before-Close-Anweisung

Forumthread: Before-Close-Anweisung

Before-Close-Anweisung
04.03.2005 07:57:34
Andreas
Hallo VBA-Profis,
ich habe den folgenden Code in mein Xls-Tool eingebaut und möchte darüber das Schließen der xls-Mappe steuern. Die Case-Anweisung 'Ja' und 'Abbrechen' funktioniert auch einwandfrei. Wenn ich aber das Dialogfeld mit 'Nein' betsätige erscheint nochmals zusätzlich das Microsoft-Dialogfeld Speichern (Ja, Nein ,...).
Kann mir jemand sagen wo der Fehler liegt?
Vielen dank im voraus,
Andreas
-------------------

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Erzwingen, dass Speichern abgefragt wird
Msg = "Möchten Sie die geänderte Datei " & Me.Name & " speichern?"
Ans = MsgBox(Msg, vbQuestion + vbYesNoCancel)
Select Case Ans
Case vbYes
If (Workbooks(Wrkbk).ActiveSheet.Name = "Einleitung" Or Workbooks(Wrkbk).ActiveSheet.Name = "Annahmen" Or Workbooks(Wrkbk).ActiveSheet.Name = "CO-Basisdaten" Or Workbooks(Wrkbk).ActiveSheet.Name = "Bilanz" Or Workbooks(Wrkbk).ActiveSheet.Name = "GuV" Or Workbooks(Wrkbk).ActiveSheet.Name = "Finanzplan" Or Workbooks(Wrkbk).ActiveSheet.Name = "Übersicht-LBZ" Or Workbooks(Wrkbk).ActiveSheet.Name = "Umsatzerlöse" Or Workbooks(Wrkbk).ActiveSheet.Name = "Aufwendungen" Or Workbooks(Wrkbk).ActiveSheet.Name = "AfA" Or Workbooks(Wrkbk).ActiveSheet.Name = "Personal" Or Workbooks(Wrkbk).ActiveSheet.Name = "Nebenrechnung") Then
Workbooks(Wrkbk).Unprotect (pwd_wrkbk)
Workbooks(Wrkbk).ActiveSheet.Visible = False
Workbooks(Wrkbk).Protect Password:=pwd_wrkbk, Structure:=True, Windows:=False
End If
Workbooks(Wrkbk).Sheets("Hauptmenu").Select
Workbooks(Wrkbk).Sheets("Hauptmenu").Range("C3") = ""
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True
Me.Save
Case vbNo
Workbooks(Wrkbk).Sheets("Hauptmenu").Select
Workbooks(Wrkbk).Sheets("Hauptmenu").Range("C3") = ""
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True
Me.Saved = True
Cancel = False
Case vbCancel
Cancel = True
End Select
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Before-Close-Anweisung
04.03.2005 08:40:48
Stefan
Hallo Andreas,
füge nach End Select ein
ActiveWorkbook.Saved = True
Ein.
Gruß Stefan
AW: Before-Close-Anweisung
04.03.2005 09:22:10
Andreas
Hallo Stefan,
vielen dank für deinen Tipp. Jetzt funktioniert es aber allerdings nur wenn diese Datei alleine geöffnet ist. Sobalb mehrere dateien gelichzeitig geöffnet sind kommt es erneut zur doppelten Speichern-Abfrage.
Gruß,
Andreas
P.S.: ich habe sämtliche me.-Anweisungen durch direkte Anweisungen ersetzt [Workbooks(test.xls)] aber auch damit funzt es nicht!
Anzeige
AW: Before-Close-Anweisung
04.03.2005 10:34:03
Stefan
Hallo Andreas,
füge nach dem
ActiveWorkbook.Saved = True
noch ein
Application.Quit
ein. Ich habs jetzt nicht getestet, obs funktioniert.
Wenn nicht, weiß ich auch nicht weiter.
Gruß Stefan
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige