Bei der Benutzung der coolen Funktion
ActiveWorkbook.RefreshAll welche alle Abfragen im Workbook aktualisiert kann es zu mysteriösen Erscheinungen kommen, bei denen die Daten nicht oder nur teilweise aktualisiert werden.
Das liegt meist daran, das Excel mit der Bearbeitung des Makros weitermacht, ohne das es wartet bis alle Abfragen aktualisiert sind. Dieses Verhalten kann man auch nicht in der schrittweisen Ausführung des Makros erkennen, weil man eben zu langsam auf weiter klickt, um diesen Fehler zu bemerken.
Die Lösung dafür ist recht Simpel. Man könnte nun beginnen in einer Schleife abzufragen, ob sich alle Abfragen aktualisiert haben. Aber dieses Verfahren ist viel zu kompliziert, und nicht gerade recourcenschonend. Es geht noch viel einfacher und mit Excel Boardmitteln.
Einfach Rechtsklick auf die Abfrage -> Datenbereichseigenschaften -> Häkchen bei Aktualisierung im Hintergrund zulassen raus machen.
Jetzt wartet Excel erst bis sich die Abfrage aktualisiert hat, bevor es mit was anderem weitermacht.
Bitte daran denken
ALLE Abfragen so umzustellen, anderfalls hat man ja immer nix gewonnen.