Registriert seit: 07.03.2016
Version(en): 2013
Hallo,
ich habe gerade den Code in meine Excel Datei integriert, um eine zweite Excel Datei im Hintergrund mit diesem Dokument gleichzeitig zu starten. Wie ist es möglich, die zweite Excel Datei (ohne zu speichern) zugleich mit der aktuellen Excel Datei per Makro zu schließen!? Wer hätte da eine Lösung?
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo,
das kannst Du im BeforeClose von DieseArbeitmappe regeln.
Z.B.:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Workbooks("xy").Close False
End Sub
Gruß Atilla
Registriert seit: 07.03.2016
Version(en): 2013
Hallo Atilla,
dank Dir für den Vorschlag. Was mache ich da falsch: ich habe versucht den Code im Register "Diese Arbeitsmappe" zu integrieren (siehe unten), es funktioniert aber nicht.
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Workbooks(ThisWorkbook.Path & "\test.xlsm").Close False
End Sub
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo,
die Datei ist ja aus der Datei heraus geöffnet worden, dann brauchst Du keine Pfadangabe:
Das müsste reichen
Code:
Workbooks("test.xlsm").Close False
Gruß Atilla
Registriert seit: 07.03.2016
Version(en): 2013
Hallo Atilla,
leider funktioniert das bei mir nicht, das Programm zeigt mir bei dieser Variante immer einen Fehler im Code an.
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo,
dann weiß ich leider nicht weiter.
Bei mir funktioniert mein Vorschlag.
Folgende Vorgaben:
Date1 hat den Code und aus der Datei heraus ist Datei2 geöffnet. (gleiche Excel Instanz)
Datei2 ist geöffnet und Datei1 mit dem Code wird geschlossen über das Schließkreuz beispielsweise.
Beim Schließen wird auch die Datei2 geschlossen.
Ich habe jetzt aber gesehen, dass Excel leer geöffnet bleibt. Dafür habe ich auf die Schnelle keine Lösung. Application.Quit ändert auch nichts.
Gruß Atilla
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo sunny,
wenn Du über Fehler berichtest solltest Du sie auch genauer beschreiben.
Wenn Du als Browser den Edge benutzt könnte das helfen:
http://www.clever-excel-forum.de/misc.php?action=help&hid=9
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Application.Quit läuft im Before_Close nicht so einfach
Eventuell hilft
Application.DisplayAlerts = False
ThisWorkbook.Saved = True
Application.Quit
oder alternativ Application.Quit in ein gesondertes Makro, dazu noch die Events disablen und es mit einer kurzen Verzögerung aufrufen.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 07.03.2016
Version(en): 2013
27.03.2017, 08:25
(Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2017, 08:25 von sunny01.)
Hallo,
vielen Dank für Eure Beiträge. Ich sehe in diesem Fall noch die Möglichkeit, die zweite Excel Datei und die aktuelle Excel Datei durch Button (und Makro) aktiv in einem Arbeitsblatt zu schließen (ohne Workbook_BeforeClose), kann es dann eventuell funktionieren bzw. wie müsste der Code dazu aussehen?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
ein anderes kannst Du so schließen
Workbooks("anderes.xlsm").Close
wobei Du darauf achten musst, ob es ein xlsm oder xlsx oder xlsb oder was auch immer ist.
Das mit dem Code schließt Du mit
ThisWorkbook.Close
Der Code kommt in ein "normales" Modul und Makro und kann dann mit dem Button verknüpft werden.
Achte auch auf Hinweise wie
Application.DisplayAlerts = False
ThisWorkbook.Saved = True
oder das False nach dem Close oder stattdessen SaveChanges:=False
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)