Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
756to760
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

beforeclose ereignis

beforeclose ereignis
21.04.2006 18:41:47
peter
Hi Leute,
ich habe folgenden Code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
Dim Frage As String
Frage = "Wollen Sie die aktuelle Berechnung speichern ?"
Application.EnableEvents = False
Application.DisplayAlerts = False
Call Arbeitsmappenschutz_deaktivieren
For i = 1 To Worksheets.Count
Application.CommandBars(i).Enabled = True
Next i
Call Arbeitsmappenschutz_aktivieren
If (MsgBox(Frage, vbQuestion Or vbYesNoCancel, Name_Fenster)) = vbYes Then
Call Schutz_deaktivieren("Start")
Sheets("Start").Range("A1") = 1
ActiveWorkbook.Close SaveChanges:=True
Call Schutz_aktivieren("Start")
ElseIf (MsgBox(Frage, vbQuestion Or vbYesNoCancel, Name_Fenster)) = vbCancel Then
Cancel = True
Application.EnableEvents = True
Application.DisplayAlerts = True
Exit Sub
Else
ActiveWorkbook.Close SaveChanges:=False
End If
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub

Wenn ich jetzt den Button 'Abrechen' drücke kommt die Frage ob ich speichern will immer zweimal. Die Buttons 'ja' und 'nein' funktionieren.
Woran kann denn das liegen?
Vielen Dank!
LG Peter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: beforeclose ereignis
22.04.2006 11:24:56
EtoPHG
Hallo Peter,
Versuch's mal so:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
Dim Frage As String
Dim Antwort As Variant
Frage = "Wollen Sie die aktuelle Berechnung speichern ?"
Application.EnableEvents = False
Application.DisplayAlerts = False
Call Arbeitsmappenschutz_deaktivieren
For i = 1 To Worksheets.Count
Application.CommandBars(i).Enabled = True
Next i
Call Arbeitsmappenschutz_aktivieren
Antwort = MsgBox(Frage, vbQuestion Or vbYesNoCancel, Name_Fenster)
Select Case Antwort
Case vbYes
Call Schutz_deaktivieren("Start")
Sheets("Start").Range("A1") = 1
ActiveWorkbook.Close SaveChanges:=True
Call Schutz_aktivieren("Start")
Case vbCancel
Cancel = True
Application.EnableEvents = True
Application.DisplayAlerts = True
Exit Sub
Case Else
ActiveWorkbook.Close SaveChanges:=False
End Select
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub

Gruss Hansueli
Anzeige
AW: beforeclose ereignis
22.04.2006 19:50:28
peter
hi hansueli,
so funktioniert es super! woran das liegt weiß ich zwar nicht, weil ich einige andere abfragen in der selben form habe die super hinhauen! aber egal hauptsache es geht!
besten dank!
lg peter
AW: beforeclose ereignis
22.04.2006 20:12:00
EtoPHG
Hallo Peter,
Danke für die Rückmeldung.
Woran das liegt...
Na schau Dir mal Deinen Code an.
Dort kommt die Msgbox 2 mal vor, einmal im If und einmal im Else if,
darum muss sie auch 2 mal auftauchen, wenn Du nicht mi5 JA beantwortest.
Gruss Hansueli
AW: beforeclose ereignis
23.04.2006 08:43:56
peter
hallo hansueli,
da hast eigentlich recht!
danke nochmal für deine hilfe!
lg peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige