Abfragen gezielt aktualisieren in Excel VBA
Schritt-für-Schritt-Anleitung
Um gezielt Abfragen in Excel mit VBA zu aktualisieren, kannst du den folgenden Code verwenden. Dieser Code ermöglicht es dir, spezifische Abfragen auszuwählen und zu aktualisieren, anstatt alle Abfragen gleichzeitig zu aktualisieren.
Sub AuffrischungAbfragen()
Dim sucheVerbindung As Long ' sucht Verbindungszeichenfolge
Dim Datenverbindung As WorkbookConnection ' für einzelne Datenverbindungen
On Error Resume Next
' Geht durch jede Datenverbindung und sucht Verbindungszeichenfolge
For Each Datenverbindung In ThisWorkbook.Connections
sucheVerbindung = InStr(1, Datenverbindung.OLEDBConnection.Connection, "Provider= _
Microsoft.Mashup.OleDb.1", vbTextCompare)
' Sollte die Textkette nicht gefunden werden, erhält SucheVerbindung keinen Wert
If Err.Number <> 0 Then
Err.Clear
Exit For
End If
' wurde die Schleife bisher nicht abgebrochen und die Textkette gefunden, wird die Verbindung aufgefrischt
If sucheVerbindung > 0 Then Datenverbindung.Refresh
Next Datenverbindung
End Sub
Du kannst diesen Code in ein Modul in deiner Excel-Arbeitsmappe einfügen und dann ausführen, um gezielt Abfragen zu aktualisieren.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du keine VBA-Lösung verwenden möchtest, gibt es auch andere Methoden, um Abfragen in Excel zu aktualisieren:
-
Manuelles Aktualisieren:
- Klicke mit der rechten Maustaste auf die Zelle im Bereich der Daten und wähle „Aktualisieren“.
- Alternativ kannst du im Menü „Daten“ die Option „Abfragen“ wählen und die gewünschte Verbindung aktualisieren.
-
Userform mit Combobox/Listbox:
- Erstelle ein Userform mit einer Liste der relevanten Verbindungen. So kannst du gezielt auswählen, welche Abfrage aktualisiert werden soll.
Praktische Beispiele
Hier sind einige praktische Beispiele, wie du den VBA Code anpassen kannst, um spezifische Abfragen gezielt zu aktualisieren:
Sub AktualisiereBestimmteAbfrage()
ThisWorkbook.Connections("DeineVerbindungName").Refresh
End Sub
In diesem Beispiel ersetzt du „DeineVerbindungName“ durch den tatsächlichen Namen der Verbindung, die du aktualisieren möchtest.
Tipps für Profis
-
Verwende Application.ScreenUpdating = False
: Schalte die Bildschirmaktualisierung aus, um den Aktualisierungsprozess zu beschleunigen.
Application.ScreenUpdating = False
' Dein Code hier
Application.ScreenUpdating = True
-
Fehlerbehandlung optimieren: Füge eine detaillierte Fehlerbehandlung in deinen Code ein, um Probleme schnell zu identifizieren und zu beheben.
FAQ: Häufige Fragen
1. Wie kann ich eine Abfrage automatisch aktualisieren?
Du kannst die Option „Daten aktualisieren beim Öffnen der Datei“ in den Verbindungsoptionen aktivieren.
2. Gibt es eine Möglichkeit, mehrere Abfragen gleichzeitig zu aktualisieren?
Ja, du kannst eine Schleife verwenden, um alle Abfragen in einer bestimmten Verbindung zu aktualisieren, wie im ersten Beispiel gezeigt.