Power Query Abfragen aktualisieren mit VBA
Schritt-für-Schritt-Anleitung
Um deine Power Query Abfragen in Excel automatisch zu aktualisieren, kannst du den folgenden VBA-Code verwenden. Dies ist besonders nützlich, wenn du mit großen Datenmengen arbeitest und sicherstellen möchtest, dass deine Abfragen immer auf dem neuesten Stand sind.
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Erstelle ein neues Modul, indem du im Projektfenster mit der rechten Maustaste auf "VBAProject (deineDatei.xlsx)" klickst und "Einfügen" > "Modul" auswählst.
-
Füge den folgenden Code ein:
Sub AktualisierePowerQuery()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
' Alle Abfragen aktualisieren
ActiveWorkbook.RefreshAll
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Führe das Makro aus, um deine Daten zu aktualisieren.
Häufige Fehler und Lösungen
-
Power Query aktualisiert nicht: Stelle sicher, dass die Eigenschaft „Aktualisierung im Hintergrund zulassen“ für deine Abfrage deaktiviert ist. Dies kannst du in den Abfrageeinstellungen ändern.
-
Makro läuft nicht korrekt: Wenn das Makro nicht wie gewünscht funktioniert, überprüfe, ob andere Makros im Konflikt stehen. Es kann hilfreich sein, den Code in kleinere Prozeduren aufzuteilen.
-
Daten werden erst nach Bestätigung angezeigt: Dies kann daran liegen, dass Excel die Aktualisierung im Hintergrund zulässt. Deaktiviere diese Option, um die Daten sofort zu sehen.
Alternative Methoden
Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch die folgenden Methoden ausprobieren:
- Power Query automatisch aktualisieren: Gehe zu den Abfrageeinstellungen und aktiviere die Option „Abfrage beim Öffnen der Datei aktualisieren“.
- Pivot-Tabellen automatisch aktualisieren: Füge in die Pivot-Tabellen-Einstellungen hinzu, dass sie beim Öffnen der Datei aktualisiert werden.
Praktische Beispiele
Angenommen, du hast eine Excel-Datei mit zwei Tabellenblättern, die du mit Power Query zusammenführst. Um die Abfrage automatisch zu aktualisieren, kannst du die oben genannten Schritte befolgen und die Abfrage mit dem Makro AktualisierePowerQuery aufrufen.
Wenn du eine Abfrage mit VBA erstellst, kannst du auch den Befehl Worksheets("Tabelle1").Calculate verwenden, um sicherzustellen, dass alle Berechnungen korrekt durchgeführt werden.
Tipps für Profis
- Verwende
Application.Wait oder DoEvents, um sicherzustellen, dass die Aktualisierung der Abfragen abgeschlossen ist, bevor du mit weiteren Berechnungen fortfährst.
- Halte deine Abfragen übersichtlich und vermeide komplexe Verknüpfungen, um die Ladezeiten zu minimieren.
- Experimentiere mit der
QueryTable-Objekt in VBA, um spezifische Abfragen zu aktualisieren.
FAQ: Häufige Fragen
1. Wie kann ich die Abfrage automatisch aktualisieren, wenn ich die Datei öffne?
Du kannst die Option „Abfrage beim Öffnen der Datei aktualisieren“ in den Abfrageeinstellungen aktivieren.
2. Was tun, wenn die Abfrage nicht aktualisiert wird?
Überprüfe, ob die Eigenschaft „Aktualisierung im Hintergrund zulassen“ aktiviert ist. Deaktiviere sie, um die Aktualisierung zu erzwingen.
3. Kann ich mehrere Abfragen gleichzeitig aktualisieren?
Ja, mit ActiveWorkbook.RefreshAll werden alle Abfragen gleichzeitig aktualisiert.
4. Wie kann ich die Aktualisierung der Pivot-Tabellen automatisieren?
Aktiviere die Option „Pivot-Tabelle beim Öffnen der Datei aktualisieren“ in den Pivot-Tabellen-Einstellungen.