Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: per Makro Mappe schließen und sofort wieder öffnen

per Makro Mappe schließen und sofort wieder öffnen
19.01.2005 20:47:51
Michael
Hallo,
kann man per Makro welches in der geöffneten Mappe ist diese schließen und sofort wieder öffnen? Wenn ja wie?
Habs schon so Probiert:
ActiveWorkbook.Close
Workbooks.Open Filename:="test.xlt"
Leider geht das so nicht.
MfG
Michael
Anzeige
AW: per Makro Mappe schließen und sofort wieder öf
19.01.2005 20:51:04
Josef
Hallo Michael!
Wenn die Mappe geschlossen wird, dann ist auch die Ausführung des
Codes beendet!
Dadurch wird die "Open" Anweisung nicht mehr ausgeführt.
Gruß Sepp
AW: per Makro Mappe schließen und sofort wieder öf
19.01.2005 20:54:59
Michael
ok dann muss ich mir was einfallen lassen, da ich einige sachen beim aufrufen der mappe aktualisiere. trotzdem danke für die schnelle antwort.
mfg
michael
Anzeige
AW: per Makro Mappe schließen und sofort wieder öf
19.01.2005 21:01:07
Michael
kann ich denn den code der beim öffnen der mappe ausgeführt wird noch einmal starten? das wäre ja mit dem schießen und wieder öffnen gleich zusetzen.
mfg
michael
AW: per Makro Mappe schließen und sofort wieder öf
Uduuh
Hallo,
wie rufst du den denn auf? Workbook_open?
Lagere den Code in eine Sub aus. Die kannst du wann immer du willst aufrufen.
In Diese Arbeitsmappe:

Private Sub Workbook_open()
Call MeinMakro
End Sub

in ein Modul:
Sub MeinMakro()
Msgbox "Hallo"
End Sub
Sub NeuStart()
Call MeinMakro
End Sub
Gruß aus'm Pott
Udo
Anzeige
AW: per Makro Mappe schließen und sofort wieder öf
19.01.2005 21:23:16
Michael
hallo udo,
ich glaube ich du hast nicht verstanden was ich möchte. ich hab in diese arbeitsmappe ja schon code drin den ich beim starten aufrufe. ich speichere die eingaben danach über ein makro. nun müsste ich irgendwie wieder die datei aufrufen bzw. den code der in diese arbeitmappe steht erneut ausführen um sozusagen in die grundstellung zu gehen.
mfg
michael
Anzeige
AW: per Makro Mappe schließen und sofort wieder öf
Uduuh
Hallo,
ich habe dich sehr wohl verstanden aber du mich nicht.
Verschiebe den Code, der in DieseArbeitsmappe steht in ein normales Modul in eine Sub.
Diese Sub kannst du wann immer du willst aufrufen. Auch beim Öffnen deiner Mappe. Hingegen kannst du Private Sub Workbook_Open nicht einfach aufrufen
Gruß aus'm Pott
Udo
Anzeige
AW: per Makro Mappe schließen und sofort wieder öf
19.01.2005 22:10:12
michael
hallo udo,
hast recht ich hatte dich nicht richtig verstanden. muss wohl noch ein wenig üben bis ich das alles schneller verstehe, aber lieber langsam als nie.
so mit deiner lösung geht es!!!!!
herzlichen dank das du mir geholfen hast!!!!
das ist hier ein super forum, großes lob.
aber ich würde jetzt noch gerne wissen warum die andere lösung eine fehlermeldung verursacht.
Anzeige
AW: per Makro Mappe schließen und sofort wieder öffnen
tobias
Hallo
so z.B.:
Application.OnTime Now + TimeValue("00:00:03"), ThisWorkbook.Name & "!Start"
ThisWorkbook.Close True
mfg tobias
AW: per Makro Mappe schließen und sofort wieder öffnen
19.01.2005 21:33:39
michael
hallo tobias,
super das geht!!!! also die mappe wird wieder geöffnet. nur leider kommt noch ein fehlemeldung die ich nicht verstehe.
Microsoft EXcel kann das Makro "C:\... .xlt'!Start' nicht finden.
mfg
michael
Anzeige
AW: per Makro Mappe schließen und sofort wieder öffnen
tobias
Hallo
du musst noch die Prozedur "Start" in einem Modul anlegen
z.B.:

Sub Start()
msgbox "Die Arbeitsmappe wurde wieder erfolgreich geöffnet"
End Sub

oder

Sub Start()
End Sub

mfg tobias
Anzeige
AW: per Makro Mappe schließen und sofort wieder öffnen
20.01.2005 18:59:34
Michael
super ich habs hin bekommen!!! das geht auch!!! herzlichen dank für deine hilfe.
mfg
michael
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Makro zum Schließen und Wiederöffnen einer Excel-Mappe


Schritt-für-Schritt-Anleitung

Um eine Excel-Mappe per Makro zu schließen und sofort wieder zu öffnen, kannst Du die Funktion Application.OnTime verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne den Visual Basic for Applications (VBA)-Editor mit Alt + F11.

  2. Füge ein neues Modul hinzu, indem Du im Menü auf Einfügen > Modul klickst.

  3. Platziere den folgenden Code in das Modul:

    Sub SchliessenUndOeffnen()
       Application.OnTime Now + TimeValue("00:00:03"), ThisWorkbook.Name & "!Start"
       ThisWorkbook.Close SaveChanges:=True
    End Sub
    
    Sub Start()
       MsgBox "Die Arbeitsmappe wurde wieder erfolgreich geöffnet."
    End Sub
  4. Um das Makro auszuführen, kannst Du es direkt im VBA-Editor starten oder über die Excel-Oberfläche.


Häufige Fehler und Lösungen

Fehler: "Microsoft Excel kann das Makro nicht finden."
Dieser Fehler tritt auf, wenn die Prozedur Start nicht im Modul vorhanden ist. Stelle sicher, dass Du die Sub Start() im gleichen Modul wie das SchliessenUndOeffnen-Makro definiert hast.

Fehler: Das Makro wird nicht ausgeführt.
Wenn Du das Makro nicht ausführen kannst, überprüfe, ob Makros in den Excel-Einstellungen aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die Option "Alle Makros aktivieren".


Alternative Methoden

Eine alternative Methode besteht darin, den Code, der beim Öffnen der Mappe ausgeführt wird, in eine separate Sub zu verschieben. So kannst Du diese Sub jederzeit aufrufen, ohne die Mappe schließen und wieder öffnen zu müssen. Der Code könnte so aussehen:

Private Sub Workbook_Open()
    Call MeinMakro
End Sub

Sub MeinMakro()
    MsgBox "Hallo, das Makro wurde beim Öffnen der Mappe ausgeführt."
End Sub

Praktische Beispiele

Wenn Du die Mappe schließen und sofort wieder öffnen möchtest, kannst Du folgendes Beispiel verwenden:

Sub Beispiel()
    Application.OnTime Now + TimeValue("00:00:02"), ThisWorkbook.Name & "!Start"
    ThisWorkbook.Close SaveChanges:=True
End Sub

Sub Start()
    MsgBox "Die Mappe wurde erfolgreich wieder geöffnet."
End Sub

Hier wird die Mappe nach 2 Sekunden geschlossen und wieder geöffnet. Achte darauf, dass Du die Prozedur Start() im Modul definierst.


Tipps für Profis

  • Nutze OnError Resume Next: Wenn Du sicherstellen möchtest, dass Dein Makro auch bei Fehlern weiterläuft, kannst Du On Error Resume Next zu Beginn Deines Makros hinzufügen.
  • Organisiere Deinen Code: Es ist hilfreich, alle wiederverwendbaren Makros in separaten Modulen zu speichern, um die Übersichtlichkeit zu erhöhen.
  • Testen in einer Sicherungskopie: Bevor Du Makros in wichtigen Dateien ausführst, teste sie in einer Kopie, um Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich mehrere Makros nacheinander ausführen?
Ja, Du kannst mehrere Makros in einer einzigen Sub aufrufen, indem Du sie nacheinander schreibst, z.B. Call Makro1 und Call Makro2.

2. Wie verhindere ich, dass beim Schließen der Mappe eine Fehlermeldung erscheint?
Stelle sicher, dass alle notwendigen Prozeduren im gleichen Modul definiert sind und dass Du die richtigen Parameter übergibst. Überprüfe auch Deine Makros auf mögliche Fehlerquellen.

3. Ist diese Methode in allen Excel-Versionen anwendbar?
Ja, die beschriebenen Methoden sind in den gängigen Excel-Versionen, einschließlich Excel 2010 bis 2021, anwendbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige