Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
580to584
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
580to584
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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!
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
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige