Hallo, ich wusste nicht genau wie ich die Überschrift wählen sollte um mein Problem zu beschreiben. Ich denke aber aus dem Beitrag dürfte es recht schnell deutlich werden und für die VBA Profis kein großes Problem darstellen.
Ich sitze schon seit längerem an folgendem Problem. Ich habe eine Tabelle die Daten per Webabfragen ausließt. Mittlerweile sind das über 30 Arbeitsblätter und damit auch entsprechend viele Abfragen von verschiedenen Webseiten. Wenn ich alle Daten auf einmal aktualisiere hängt sich Excel damit auf. Aus dem Grund habe ich ein Makro geschrieben um die Arbeitsblätter nacheinander auszuwählen und sie automatisch zu aktualisieren. Das funktioniert auch einwandfrei.
Es kommen aber laufend neue Seiten dazu und andere werden vorübergehend nicht mehr benötigt. Deshalb möchte ich eine Möglichkeit finden nur die Webafragen zu machen die aktuell auch gebraucht werden und das ohne ständig den Code zu ändern. Am besten soll sich VBA die Namen der Arbeitsblätter aus einer Tabelle ziehen die ich schon habe.
- Arbeitsblatt A enthält Webabfrage A, Arbeitsblatt B enthält Webabfrage B... usw.
Worksheets("A").Select
[A1].Select
Selection.QueryTable.Refresh BackgroundQuery:=False
Worksheets("B").Select
[A1].Select
Selection.QueryTable.Refresh BackgroundQuery:=False
...
Jetzt möchte ich aber nicht, dass alle Arbeitsblätter von A bis Z aktualisiert werden sondern z.B nur bestimmte Blätter deren Name in der Tabelle stehen.z.B
A
C
F
U
Ist es irgendiw möglich bei Worksheets().Select eine Zelle z.B (A1) oder ein Array in die Klammer zu setzen? Egal wie ich es bisher versucht habe kommt jedes mal eine Fehlermeldung.
|