Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Arbeitsmappe mit Makro neu Laden

Forumthread: Arbeitsmappe mit Makro neu Laden

Arbeitsmappe mit Makro neu Laden
marspoki
Hallo,
ganz kurze Frage kann ich eine Arbeitsmappe mit einem Knopfdruck schließen und dann gleich wieder neu laden?
Ich möchte gerne auf Knopfdruck die Arbeitsmappe neu starten.
Geht das?
Vielen Dank
marspoki
Anzeige
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 12:54:02
Wolli
Hallo Marspoki,
so z.B.:
Sub Neuladen()
Dim Pfad As String
Pfad = ActiveWorkbook.FullName
ActiveWorkbook.Close savechanges:=False 'ggf. auch true, ganz nach Geschmack
Workbooks.Open Pfad
End Sub
Gruß, Wolli
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 13:21:20
marspoki
Hallo Wolli,
Schließen tut er die Arbeitsmappe, aber öffnet sie danach nicht wieder :-(
Was amche ich falsch?
Anzeige
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 13:25:33
Rudi
Hallo,
der Code muss in einer anderen Mappe stehen.
Suizid und anschließende Selbst-Reanimation geht nicht.
Gruß
Rudi
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 13:27:22
marspoki
ja genau das will ich verhindern?
Gibts na nicht ne möglichkeit einen Restart mit VBA zu erzwingen?
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 14:57:00
Original
Hi,
starte das Makro zum Öffnen leicht verzögert mittels OnTime.
mfg Kurt
Anzeige
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 15:01:23
marspoki
das verstehe ich jetzt leider nicht so ganz :-(
wie meinst du das?
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 15:14:24
Original
Hi,
lad mal ein Beispiel hoch, ich bau das dort ein.
mfg Kurt
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 15:20:00
marspoki
Hier
https://www.herber.de/bbs/user/63884.xls
ich will nur das die Mappe zu geht und sich wieder öffnet.
Thx
Sebastian
Anzeige
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 15:32:45
marspoki
Das ist ja sowas von Geil :-)
Vielen Dank
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 15:49:52
marspoki
Das funktioniert wie gesagt ganz gut. aber bei mir kommt nach dem neustart die Meldung ("besispiel.xls ist bereits geöffnet, wenn Sie es erneut öffnen, verlieren Sie damit alle Änderungen")
Meine Arbeitsmappe ist ca 4 MB groß. Kann sein das diese noch irgendwo hängen bleibt?
Gruß
Sebastian
Anzeige
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 16:34:14
Original
Hi,
wenn du ohnehin SaveChanges:= FALSE festlegst, kann es dir doch egal sein.
Ich vermute, die Mappe ist noch nicht fertig gespeichert, du musst dann die Sekunden erhöhen,
einfach mal probieren.
mfg Kurt
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 16:50:32
marspoki
So habe es jetzt mal auf 30 sekunden gesetzt. funzt leider nicht :-(
Keine weitere Idee! oT
17.08.2009 17:04:49
Original
oT
Anzeige
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 17:05:55
Tassos
Hallo!
Probier:
Sub Neuladen()
Dim Pfad$
Application.ScreenUpdating = False
With ActiveWorkbook
Pfad = .FullName
.Saved = True  '.Save
.ChangeFileAccess 3
End With
Workbooks.Open Pfad
End Sub
Gruss!
Tassos
AW: Arbeitsmappe mit Makro neu Laden
17.08.2009 17:18:19
Tassos
Hallo!
Probier:
Sub Neuladen()
Dim Pfad$
Application.ScreenUpdating = False
With ActiveWorkbook
Pfad = .FullName
.Saved = True  '.Save
.ChangeFileAccess 3
End With
Workbooks.Open Pfad
End Sub
Gruss!
Tassos
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Arbeitsmappe mit Makro neu Laden


Schritt-für-Schritt-Anleitung

Um eine Excel-Arbeitsmappe mit einem Makro neu zu laden, kannst Du den folgenden VBA-Code verwenden:

Sub Neuladen()
    Dim Pfad As String
    Pfad = ActiveWorkbook.FullName
    ActiveWorkbook.Close savechanges:=False ' ggf. auch True
    Workbooks.Open Pfad
End Sub
  1. Öffne Deine Excel-Arbeitsmappe.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul ein: Rechtsklick auf "VBAProject (DeineArbeitsmappe)" > Einfügen > Modul.
  4. Kopiere den obigen Code in das Modul.
  5. Schließe den VBA-Editor und gehe zurück zu Excel.
  6. Weise das Makro einem Button zu, um die Arbeitsmappe mit einem Knopfdruck zu schließen und neu zu laden.

Häufige Fehler und Lösungen

  • Fehler: Die Arbeitsmappe öffnet sich nach dem Schließen nicht wieder.

    • Lösung: Stelle sicher, dass der Code in einer anderen Arbeitsmappe als der, die Du neu laden möchtest, gespeichert ist. Der Code muss außerhalb der zu schließenden Arbeitsmappe ausgeführt werden.
  • Fehler: Meldung "Die Datei ist bereits geöffnet".

    • Lösung: Wenn Du SaveChanges:=False verwendest, könnte es sein, dass die Arbeitsmappe noch nicht vollständig gespeichert ist. Erhöhe die Wartezeit, bevor die Arbeitsmappe erneut geöffnet wird.

Alternative Methoden

Eine alternative Methode besteht darin, die OnTime-Funktion zu verwenden, um das Makro mit einer Verzögerung auszuführen. Hier ist ein Beispiel:

Sub NeuladenMitVerzögerung()
    Application.OnTime Now + TimeValue("00:00:05"), "Neuladen"
End Sub

Mit dieser Methode kannst Du die Arbeitsmappe mit einer Verzögerung von 5 Sekunden neu laden, was hilfreich sein kann, wenn Du sicherstellen möchtest, dass alle Änderungen gespeichert sind.


Praktische Beispiele

Hier ist ein praktisches Beispiel, um die Funktionsweise zu verdeutlichen:

  1. Erstelle eine neue Excel-Arbeitsmappe und füge einige Daten hinzu.
  2. Implementiere den Neuladen-Code in einem Modul.
  3. Weise das Makro einem Schaltflächen-Objekt zu.
  4. Klicke auf die Schaltfläche, um die Arbeitsmappe zu schließen und sofort wieder zu öffnen.

Achte darauf, dass Du nur die benötigten Daten in der Arbeitsmappe speicherst, um eine reibungslose Ausführung zu gewährleisten.


Tipps für Profis

  • Verwende Application.ScreenUpdating = False, um das Flackern des Bildschirms während des Neuladens zu minimieren.
  • Denke daran, den Status der Arbeitsmappe zu speichern (.Saved = True), um unerwünschte Rückfragen beim Schließen zu vermeiden.
  • Teste den Code in einer Umgebung, in der Du keine wichtigen Daten verlierst, um sicherzustellen, dass alles wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Kann ich das Makro auch in einer geschützten Arbeitsmappe verwenden? Ja, jedoch musst Du sicherstellen, dass die Schutzmaßnahmen in der Arbeitsmappe es zulassen, dass Makros ausgeführt werden.

2. Wie kann ich verhindern, dass die Rückfrage zur Makroausführung erscheint? Stelle sicher, dass Du alle erforderlichen Änderungen im Code vornimmst, wie das Setzen von .Saved = True, um eine Rückfrage zu vermeiden.

3. Funktioniert dieser Code in allen Excel-Versionen? Der bereitgestellte Code sollte in Excel-Versionen ab 2007 funktionieren. Stelle sicher, dass Du die Makros in der entsprechenden Version aktivierst.

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