Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Abfragen gezielt aktualisieren?

Abfragen gezielt aktualisieren?
28.11.2017 18:27:37
Nordwestler
Guten Abend allerseits!
Bisher benutze ich folgenden Code zum Auffrischen mehrerer Abfragen:
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 und es  _
gibt einen Fehler
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
Da die Abfragen aber unterschiedlich groß sind bzw. lang dauern, wäre es schicker, wenn nur die Abfrage aktualisiert wird, die gerade aktualisiert werden soll.
Kann mir da bitte jemand weiterhelfen?
Abendliche Grüße
Reinhard
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfragen gezielt aktualisieren?
29.11.2017 20:05:24
fcs
Hallo Reinhard,
Zelle im Bereich mit den zu aktualisierenden Daten anklicken, Rechte-Mausklick-Aktualisieren
oder
Über Menü "Daten"--"Abfragen" in dem Dialog die zu aktualisierende Verbingen wählen und aktualisieren.
Ansonsten müsstest du dir via Userform mit Combobox/Listbox eine Liste der relevanten Connections erstellen und nach Auswahlgezielt nur diese per Makro aktualisieren.
Den Weg über das Userform würde ich aber nur gehen, wenn eine der beiden anderen Methoden auf Dauer zu umständlich sind.
Gruß
Franz
Anzeige
AW: Abfragen gezielt aktualisieren?
05.12.2017 20:51:18
Nordwestler
Hallo Franz, tut mir leid, dass ich erst so spät antworte, aber ich war urlaubsbedingt einige Tage offline.
Habe mir inzwischen einige Makros gebastelt, mit denen ich gezielt aktualisieren kann.
Danke und Gruß
Reinhard
;
Anzeige
Anzeige

Infobox / Tutorial

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

  • Fehler: Abfrage wird nicht aktualisiert

    • Lösung: Stelle sicher, dass die Verbindung korrekt konfiguriert ist. Überprüfe die Verbindungseinstellungen in den Datenverbindungen von Excel.
  • Fehler: Laufzeitfehler beim Ausführen des Codes

    • Lösung: Überprüfe, ob die OLEDB-Verbindung korrekt ist. Möglicherweise fehlt eine erforderliche Bibliothek oder das Provider-Tag ist falsch.

Alternative Methoden

Wenn du keine VBA-Lösung verwenden möchtest, gibt es auch andere Methoden, um Abfragen in Excel zu aktualisieren:

  1. 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.
  2. 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.

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