Hallo Excelspezialisten, ich habe mir eine Exceltabelle erstellt die 4x täglich aktualisiert wird, d.h über die Aufgabenplanung öffne ich auf einen Rechner Excel führe einige Makros aus und aktualisiere damit die Daten in der Tabelle. Manchmal (seit einigen Tagen immer) kommt die Meldung Laufzeitfehler 1004 (siehe Bild1), gehe ich auf Debuggen (siehe Bild2). Kann mir jemand helfen den Fehler zu beseitigen? Übrigens auf einem anderen Rechner läuft das wesentlich stabiler, die Meldung kommt mal aber wesentlich seltener.
Moin! Liegt meistens an Zeile 42 im dritten Makro von oben.
Da ich gerade sehe, dass Du mit den Bildern spielst: Eine Excel-Datei, zumindest aber der Code, mit Benennung der exakten Stelle, wo der Fehler auftritt, wäre sinnvoller.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Das heißt? Wie sollte es aussehen? Ich kenne mich damit leider nicht so aus, die Tabelle habe ich mir auch nur Stück für Stück durch solche Beiträge erarbeitet. Kannst mir ein Muster vielleicht sogar mit kurzer Erklärung zeigen? Vielen Dank.
24.02.2021, 22:14 (Dieser Beitrag wurde zuletzt bearbeitet: 24.02.2021, 22:20 von Gast 123.)
Hallo
ich habe noch nie mit einer QueryTable gearbeitet! Aber ich weiss wie man Codes verkürzen kann!! Ohne Select!! Probier bitte mal: Worksheets("Deka").UsedRange.Querttable.Refresh.BackgroundQuery = False oder so, ohne UsedRange Worksheets("Deka").Querttable.Refresh.BackgroundQuery = False Würde mich freuen wenn es damit klappt.
mfg Gast 123 Nachtrag: wenn du bei Laufzeitfehler vor dem Worksheets ein " ' " Zeichen setzt wird der Text grün, wird zum Kommentar. So kannst du prüfen ob bei den anderen Tabellen auch Laufzeitfehler kommen, oder nur bei einer? Eventuell muss man den Fehler mit Error Handling abfangen.
brauchst doch nur übersetzen. Der Code ist dazu, um Deine Abfragen zu aktualisieren.
Damit das bei einem Blattwechsel funktioniert, sollte die Selection auf dem Blatt auch im Bereich der abgefragten Daten sein, das wäre ansonsten eine Ursache für den Fehler. Daneben sollte auf dem Blatt natürlich auch eine Abfrage vorhanden sein. Das könntest Du vorher mit ...QueryTables.Count prüfen. Wenn Du auf dem Blatt nur eine Abfrage hast, kannst Du statt Selection auch ActiveSheet.Querytables(1).Refresh nehmen. Das geht auch ohne Blattwechsel, indem Du Sheets("DeineTabelle").Querytables(1).Refresh nimmst.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Hallo zusammen, leider hat meine Aktion aus Beitrag 7 nichts gebracht. Ich habe auch das von Gast123 getestet, leider auch ohne Erfolg. Jetzt habe ich es eingefügt wie "Schuan" das geschrieben hat, läuft auch fast durch siehe Bild. Hier wird ein weiteres Makro aufgerufen und kopiert innerhalb Excel Zeilen. Warum hängt er da?