ActiveWorkbook alle 30 Minuten automatisch aktualisieren
Schritt-für-Schritt-Anleitung
Um das ActiveWorkbook alle 30 Minuten zu aktualisieren, kannst Du das folgende VBA-Makro verwenden.
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu: Klicke auf Einfügen
> Modul
.
-
Kopiere den folgenden Code in das Modul:
Option Explicit
Public MerkTime As Date
Sub StartTimer()
ActiveWorkbook.RefreshAll
MerkTime = Now + TimeValue("00:30:00")
Application.OnTime MerkTime, "StartTimer"
End Sub
Sub StopTimer()
On Error Resume Next
Application.OnTime MerkTime, "StartTimer", , False
End Sub
-
Um sicherzustellen, dass der Timer beim Schließen der Datei gestoppt wird, füge den folgenden Code in das DieseArbeitsmappe
-Objekt ein:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call StopTimer
End Sub
-
Starte das Makro mit StartTimer
, um die Aktualisierung zu beginnen.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode, um das ActiveWorkbook zu aktualisieren, ist die Verwendung von Application.OnTime
mit einer anderen Zeitspanne. Du kannst den Zeitintervall anpassen, indem Du den TimeValue
änderst:
Application.OnTime Now + TimeValue("00:01:00"), "StartTimer" ' Aktualisiert jede Minute
Das kann nützlich sein, wenn Du häufige Aktualisierungen benötigst.
Praktische Beispiele
Hier ist ein einfaches Beispiel, wie Du das ActiveWorkbook mit einer Pivot-Tabelle aktualisieren kannst. Ersetze die Standardaktualisierung mit einem spezifischen Feld:
Sub UpdatePivotTable()
Dim pt As PivotTable
Set pt = ActiveSheet.PivotTables(1) ' Nimm die erste Pivot-Tabelle
pt.RefreshTable
End Sub
Du kannst die Funktion UpdatePivotTable
in das StartTimer
-Makro integrieren, um spezifische Daten zu aktualisieren.
Tipps für Profis
- Nutze
ActiveWorkbook.RefreshAll
, um alle Datenquellen im Workbook gleichzeitig zu aktualisieren. Dies ist besonders nützlich, wenn Du mit externen Datenquellen arbeitest.
- Achte darauf, dass Du
Option Explicit
am Anfang Deiner Module verwendest, um Variablenfehler zu vermeiden.
- Dokumentiere Deinen Code, um die Wartung zu erleichtern, besonders wenn Du mehrere Makros verwendest.
FAQ: Häufige Fragen
1. Wie kann ich das Makro anpassen, um mehr als einmal alle 30 Minuten zu aktualisieren?
Du kannst den TimeValue
in der StartTimer
-Prozedur anpassen, um die Aktualisierungshäufigkeit zu erhöhen oder zu verringern.
2. Was passiert, wenn ich das Excel-Dokument schließe?
Das Workbook_BeforeClose
-Ereignis sorgt dafür, dass der Timer gestoppt wird, sodass keine weiteren Aktualisierungen stattfinden, während das Workbook geschlossen ist.