Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1072to1076
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
Inhaltsverzeichnis

Code ausführen bei BeforeClose

Code ausführen bei BeforeClose
05.05.2009 10:13:06
Mandy
Hi zusammen,
ich habe in meinem Excel ein makro, dass auch eine Symbolleiste startet. Wenn ich die Tabellen schliesse, soll auch die Symbolleiste wieder geschlossen werden. Das mache ich so:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Symbolleiste_aus 'Symbolleiste wieder schliessen.
End Sub


So, nun das Problem: wenn ich meine Datei offen habe, die Symbolleiste ist geladen, ich zB die Datei wieder schliessen will, werde ich von Excel gefragt, ob ich die Daten noch speichern will. In diesem Moment verschwindet dann auch die Symbolleiste. Wenn ich es mir aber dann doch anders überlege und auf Abbrechen gehe, ich also NICHT schliessen will, ist meine Tabelle zwar noch da, aber die Symbolleiste ist entladen. Ich könnte sie aber dann wieder gebrauchen.
Gibt es ein Ereignis, wo ich eine Funktion ausführen kann, nur wen die datei TATSÄCHLICH beendet wurde ?
Danke mal Mandy

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

Betreff
Datum
Anwender
Anzeige
AW: Code ausführen bei BeforeClose
05.05.2009 10:17:49
Rudi
Hallo,
nimm Workbook_deactivate
Gruß
Rudi
AW: Code ausführen bei BeforeClose
05.05.2009 10:34:35
Mandy
Hallo Rudi,
Danke mal. Das mit der Symbolleiste funktioniert, aber was anderes noch. ich habe in meinem Ereignis Workbook_Deactivate noch ein Aufruf, der so deffinierte Bereiche aus einer Excelliste löschen soll (Deffinitionen im Namensfeld)
Diese werden aber trotzdem noch gelöscht, wenn ich das BEENDEN wieder abbreche und wieder zurückkehren will. Kann man das auch unterbinden ?

Private Sub Workbook_Deactivate()
KillNames
Symbolleiste_aus
End Sub


Sub KillNames()
Dim n As Name
For Each n In ActiveWorkbook.Names
n.Delete
Next
End Sub


Danke
Mandy

Anzeige
AW: Code ausführen bei BeforeClose
05.05.2009 10:45:50
Raist10
Mach doch einfach eine Sicherheitsabfrage per MsgBox vor der Ausführung.
Frei nach dem Motto:
sFrage: MsgBox _
("Sollen alle benannten Bereiche gelöscht werden?", vbYesNo + vbQuestion, "Bereiche löschen")
If sFrage = vbYes Then
KillNames '

Sub aufrufen oder gleich in 

Sub rein und hier die Delete-Schleife rein
End If
End Sub


Gruß
Rainer

Danke Euch beiden :-) owT
05.05.2009 15:05:19
Mandy

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige