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

Excel schließen

Excel schließen
11.01.2008 15:54:00
DR
Hallo, ich habe folgendes Problem:
Ich habe zwei Dateien mit diversem VBA-Code inkl. Workbook_BeforeClose - Code
Wenn ich nur eine davon öffne funktioniert noch alles.
Wenn ich beide öffne und einzeln schließe geht auch noch alles.
Wenn ich aber beide öffne und dann Excel gesamt schließen möchte, wechselt jeweilsnur der Fokus zwischen den beiden Dateien.
Die Workbook_BeforeClose wird aber anstandslos durchlaufen und mit Cancel = False beendet.
Bin ratlos und bitte um Hilfe

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zeig Code... (owT)
11.01.2008 15:57:30
Renee

AW: Zeig Code... (owT)
11.01.2008 16:07:26
DR
Der Code der ersten Datei:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Blätter_sperren
Worksheets(1).Activate
Call ClipMenu_Loeschen ' entfernt einen Menübar
End Sub


und der zweiten:


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Blätter_sperren
Worksheets(1).Activate
If offenGespeichert = True Then
MsgBox ("Achtung: Zuvor ohne Schutz gespeichert")
End If
End Sub


AW: Zeig Code... (owT)
11.01.2008 16:15:00
Renee
Hi DR,
Da gibt's noch genügend Fehlerquellen, denn der Code deiner Makros kann enthalten was er will.
Alle Referenzen sollten klar und eindeutig sein, also:

Statt nur:
Worksheets(1).Activate
besser:
ActiveWorkbook.Sheets(1).Activate
oder wenn nur genau dies Arbeitsmappe (mit dem Makro) gemeint ist:
ThisWorkbook.Sheets(1).Activate


wenn das nicht der Fall ist, (z.B. in deinen anderen Makros) dann erhältst du genau solche lustigen Effekte, wie du beschreibst.
GreetZ Renée

Anzeige
AW: Zeig Code... (owT)
11.01.2008 16:20:40
mumpel
Hallo!
Noch eine kleine Anmerkung. Man sollte statt des Tabellenindex besser den Namen der Tabelle angeben. Dies ist dann erforlderlich, wenn Tabellen eingefügt oder verschoben werden.
ActiveWorkbook.Sheets("Tabelle1").Activate
Gruß, Rene

AW: Zeig Code... (owT)
11.01.2008 16:28:00
Renee
Hi Rene,
Man sollte statt des Tabellenindex besser den Namen der Tabelle angeben.
Na wenn schon, dann den VBA-Namen denn wenn der User die Tabelle unbenennt, ist er auch mit deiner Lösung nicht zufrieden!
ActiveWorkbook.Tabelle1.Activate
GreetZ Renée

AW: Zeig Code... (owT)
11.01.2008 16:29:00
DR
Habe alle Referenzen mit ThisWorkbook. ergänzt, ändert nichts am Problem.
Das grundsätzliche Problem ist ja, dass die Sub Workbook_BeforeClose ordnungsgemäß durchläuft, der Parameter am Ende den Wert FALSE hat und danach schlicht gar nichts mehr passiert
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige