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

.Refresh BackgroundQuery:=False

Forumthread: .Refresh BackgroundQuery:=False

.Refresh BackgroundQuery:=False
pia
Guten Tag
In einem aufgezeichnetem Makro steht am Ende der Befehl .Refresh BackgroundQuery:=False. Sobald das Makro auf einem anderen PC ausgeführt wird bleibt das Makro bei betr. Befehl stehen und meldet einen Laufzeitfehler 1004. .Refresh BackgroundQuery:=False wir dabei gelb eingefärbt. Kann mir jemand weiterhelfen. Besten Dank. Pia
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: .Refresh BackgroundQuery:=False
06.06.2011 14:30:55
Hei.Fisch
Hallo Pia,
probier mal das mit den + bei der Pfadangabe anstatt &.
Ich hoffe, das hilft.
Grüße,
Heidi
Beispiel:
Anstatt:
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT; " & filepath & "" _
, Destination:=Range("A1"))
Muss es heißen:
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" +filepath _
, Destination:=Range("A1"))
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

.Refresh BackgroundQuery:=False – Fehlerbehebung und Tipps


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und lade die Arbeitsmappe, in der das Makro gespeichert ist.
  2. Gehe zum VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Suche Dein Makro: Finde das Modul, in dem das Makro mit dem Befehl .Refresh BackgroundQuery:=False gespeichert ist.
  4. Überprüfe den Befehl: Stelle sicher, dass der Befehl korrekt ist. Er sollte so aussehen:
    QueryTable.Refresh BackgroundQuery:=False
  5. Teste das Makro: Führe das Makro aus und überprüfe, ob der Laufzeitfehler 1004 auftritt.

Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn das Makro auf einem anderen PC ausgeführt wird. Überprüfe, ob alle notwendigen Verbindungen und Abfragen korrekt sind.

  • Falsche Verknüpfung: Stelle sicher, dass der Pfad zu den Datenquellen korrekt ist. Verwende + anstelle von & in den Pfadangaben, wie von Benutzer Hei.Fisch vorgeschlagen:

    With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;" + filepath, Destination:=Range("A1"))
  • Problem mit BackgroundQuery: Wenn Du .Refresh BackgroundQuery:=False verwendest, stelle sicher, dass die Abfrage in der richtigen Reihenfolge ausgeführt wird. Wenn die Abfrage zu lange dauert, kann der Befehl nicht korrekt ausgeführt werden.


Alternative Methoden

  • Verwendung von .Refresh BackgroundQuery:=True: Wenn Du die Abfrage im Hintergrund ausführen möchtest, kannst Du stattdessen diesen Befehl verwenden. Dies ermöglicht es Dir, andere Aktionen in Excel durchzuführen, während die Abfrage läuft.

  • Direktes Aktualisieren ohne Makro: Du kannst die Abfrage auch manuell aktualisieren, indem Du in Excel auf die Schaltfläche "Aktualisieren" klickst.


Praktische Beispiele

Beispiel 1: Einfache Abfrage
Sub UpdateQuery()
    With ActiveSheet.QueryTables(1)
        .Refresh BackgroundQuery:=False
    End With
End Sub
Beispiel 2: Abfrage mit Fehlerbehandlung
Sub SafeUpdate()
    On Error GoTo ErrorHandler
    With ActiveSheet.QueryTables(1)
        .Refresh BackgroundQuery:=False
    End With
    Exit Sub

ErrorHandler:
    MsgBox "Fehler beim Aktualisieren der Abfrage: " & Err.Description
End Sub

Tipps für Profis

  • Überprüfung der Verbindungsdaten: Bevor Du das Makro ausführst, überprüfe die Verbindungsdaten sorgfältig. Fehlerhafte Verbindungen sind oft die Ursache für .Refresh BackgroundQuery:=False error.

  • Makros optimieren: Überlege, ob Du die Abfragen in einer Schleife ausführen kannst, um die Effizienz zu erhöhen.

  • Dokumentation nutzen: Nutze die Excel-Dokumentation und die VBA-Hilfe, um mehr über die verschiedenen Parameter und Optionen des QueryTable.Refresh-Befehls zu erfahren.


FAQ: Häufige Fragen

1. Was bedeutet der Fehler 1004?
Der Fehler 1004 tritt auf, wenn Excel ein bestimmtes Objekt oder eine bestimmte Datei nicht finden kann. Dies geschieht häufig bei falschen Pfadangaben oder wenn die Datenquelle nicht verfügbar ist.

2. Wie kann ich sicherstellen, dass mein Makro auf jedem PC funktioniert?
Vergewissere Dich, dass alle Verbindungen und Abfragen in Deinem Makro korrekt konfiguriert sind und dass alle benötigten Dateien zugänglich sind. Verwende relative Pfade, wenn möglich.

3. Was ist der Unterschied zwischen .Refresh BackgroundQuery:=False und .Refresh BackgroundQuery:=True?
False bedeutet, dass das Makro wartet, bis die Abfrage vollständig ausgeführt ist, bevor es fortfährt. True erlaubt es, dass die Abfrage im Hintergrund läuft, während Du andere Aktionen in Excel durchführst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige