Microsoft Excel

Herbers Excel/VBA-Archiv

Before_Close



Excel-Version: 9.0 (Office 2000)

Betrifft: Before_Close
von: Stephan
Geschrieben am: 28.08.2002 - 13:33:31

Hallo zusammen,
ich habe ein dringendes Problem: Ich habe für eine Datei ein Before_Close-Makro definiert.
Diese Datei und irgendeine andere Datei sind geöffnet, wobei die andere Datei aktiv ist.
Wenn ich nun Excel schließen möchte, läuft sofort das Before_Close-Makro an. Da dieses aber auf Sheets wechslen möchte, die nur in der Datei vorkommen und nicht in der gerade aktiven, kommt ein Laufzeitfehler.
Wie kann ich sichergehen, dass das before_close - Makro erst abläuft, wenn die Datei aktiv ist.

ich hoffe ich habe mein Problem genau genug erklärt!
Bitte um Hilfe!
Danke, Gruß Stephan

  

Re: Before_Close
von: Frederik Fuhrmann
Geschrieben am: 28.08.2002 - 13:42:45

Hallo!

Du kannst das auto_close ereigniss beim wechsel in die andere datei doch unterbinden.

benutze dazu "enableevents = false"

denk aber daran, es wieder auf true zu setzen, da die anweisung auch nach schließen und öffnen von excel bestehen bleibt!


Gruß
F.


  

Re: Before_Close
von: Axel
Geschrieben am: 28.08.2002 - 13:45:42

Hallo,

Du solltest die Tabellenblätter in der Workbook_BeforeClose-Prozedur voll qualifiziert ansprechen, also mit

ActiveWorkbook.Worksheets(xxx)


Gruß
Axel


  

Re: Before_Close
von: Stephan
Geschrieben am: 28.08.2002 - 13:48:00

Hallo,
das auto_close wird beim wechsel in die andere Datei nicht ausgeführt.
Aber wenn ich Excel schließen möchte, die Datei mit dem auto_close aber nicht aktiv ist, kommt eine Fehlermeldung, da das auto_close auf ein bestimmtes Tabellenblatt nicht zugreifen kann.
Das auto_close müsste demnach erst ausgeführt werden, wenn alle Dateien vor der mit dem auto_close geschlossen sind und nun diese an der Reihe ist.
Verstehst du was ich meine?

Gruß Stephan


  

Re: Before_Close
von: Stephan
Geschrieben am: 28.08.2002 - 13:50:00

Hallo,
das kann ich aber nicht, da das Workbook ja nciht aktiv ist, sondern irgendeine andere x-beliebeige Datei (oder auch mehrere). Ich kann meine Datei auch nciht direkt (abslout) ansprechen, da nicht sichergestellt ist, dass der Dateiname immer gleich ist!
Gruß Stephan

  

Re: Before_Close
von: Axel
Geschrieben am: 28.08.2002 - 14:00:53

Hallo,

verwende statt ActiveWorkbook den Bezeichner ThisWorkbook.

In den Ereignisroutinen zum Workbook- oder Worksheet verweist dieser immer auf die Mappe, deren Ereignis dann gerade bearbeitet wird, unabhängig davon welche Datei oder welches Blatt aktiv ist.

Gruß
Axel


  

Re: Before_Close
von: Stephan
Geschrieben am: 28.08.2002 - 15:51:04

Hallo,
ich habe nun zu beginn der before_close Anweisungen den Befehl ThisWorkbook.Activate gesetzt, dann alle Anweisungen gemacht und am Schluss This.Workbook.Close! Allerdings stürzt nuin Excel ab, aber nicht immer, sondern nur ab und zu. Ein Fehlerprototkoll wird angelegt, aber wo finde ich das oder was mache ich falsch?
Gruß Stephan

  

Re: Before_Close
von: Axel
Geschrieben am: 28.08.2002 - 16:29:12

Hallo,

ich kann Dir nur noch anbieten, mal einen Blick auf den Code zu werfen. Sende mir die Datei(en) einfach zu.


Gruß
Axel
Email: wildspitze@gmx.de