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
Private Sub Workbook_open()
Call MeinMakro
End Sub
Sub Start()
msgbox "Die Arbeitsmappe wurde wieder erfolgreich geöffnet"
End Sub
Sub Start()
End Sub
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:
Öffne den Visual Basic for Applications (VBA)-Editor mit Alt + F11
.
Füge ein neues Modul hinzu, indem Du im Menü auf Einfügen > Modul
klickst.
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
Um das Makro auszuführen, kannst Du es direkt im VBA-Editor starten oder über die Excel-Oberfläche.
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".
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
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.
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.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.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen