Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
304to308
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
304to308
304to308
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Offener Dialog verhindert Makro

Offener Dialog verhindert Makro
04.09.2003 16:45:16
Lars H
Ja jetzt dann doch die Frage ans Forum.

Kurz beschrieben: Ich habe ein Excel File mit einer Endabfrage versehen, die dem User eine Info geben soll und ihn Fragen soll, ob er wirklich beenden will.

Sieht so aus:

-------------------------------------------------------


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Select Case Worksheets("Guide").Range("b2")
Case Is <> ""
Cancel = True
DialogSheets("Dialog (2)").Show
Case Else
If MsgBox("Close file? Datei schließen?", _
vbQuestion + vbYesNoCancel, ActiveWorkbook.Name) <> vbYes Then _
Cancel = True
End Select
End Sub


-------------------------------------------------------

Im Dialog (2) gebe ich nun neben anderen Möglichkeiten, die Möglichkeit, die Datei zu schliessen per Button. Makro dahinter lautet:

ActiveWorkbook.Close savechanges:=False

2 Probleme ergeben sich:

Es gibt einen Runtime Error, wenn ich das Makro über den Button starte, was wahrscheinlich daran liegt, dass der Dialog noch auf ist. Starte ich das Makro nämlich separat, kommt kein RTE.
Dann aber passiert gar nichts, was wahrscheinlich daran liegt, dass ich ja "

Private Sub Workbook_BeforeClose(Cancel As Boolean)" mit in die Datei eingebaut habe. Wieso Excel allerdings gar nicht macht und nicht in die Schleife geht, verstehe ich nicht ganz. Egal!
Frage 1:
Gibt es die Möglichkeit, das Dialogfeld zu deaktivieren, damit das Makro per Buttondruck läuft? Ich hatte das Problem schon einmal mit einem "Ausdruck Makro" Das lief nur über einen direkten Button in einem Arbeitsblatt, nicht aber über den Dialog! (?)
Frage 2:
Kann ich das "

Private Sub Workbook_BeforeClose(Cancel As Boolean)" so umgehen, dass Excel die Datei auf jeden Fall schliesst ohne das Makro zu berücksichtigen, ähnlich "ActiveWorkbook.Close savechanges:=False"?
Danke schon einmal
Lars

                    

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Offener Dialog verhindert Makro
05.09.2003 08:58:05
Lars Peer Finke
Hallo Lars,

ich würde hier mit globalen Boolschen Variablen arbeiten:

1)bForget: zum Verhindern weiterer Events
2)bClose: damit in jedem Fall geschlossen wird

Public bForget As Boolean


Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not bForget and Not bClose then
bForget = True
' Rufe Dialog bzw. MsgBox auf
bForget = False
End If
End Sub


im Dialog mußt du dann nur die Variable bClose=True setzen
bevor du ActiveWorkbook.Close aufrufst

sollte so gehen..

Lars Peer
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige