Hallo Reinhard.
Was willst du eigentlich genau machen?
In eine Mappe schreiben geht m.W. nur durch das Open was du
kennst.
Auslesen geht schon ohne daß du die Mappe mit Open öffnest.
Aber das macht man nur bei einer oder wenigen Zellen.
Geht mit den alten Excel4-Befehlen die man nicht nur im Blatt
sondern auch in Vba benutzen kann.
Vom Grundprinzip habe ich mehrere ähnliche Vorgänge. Zum Hintergrund: Wir haben Arbeitsdateien, die jeweils in Kundenordner liegen. Diese Dateien stehen mit dem Speicherpfad in einer Sammeldatei. Wir haben momentan zwei dieser Sammeldateien; im vorliegenden Fall kommt noch ein dritte Liste dazu, die ich temporär aus dem Ordnersystem auslese.
Ziel des Codes ist es eine Liste zu erstellen, die bestimmte Informationen enthält (dies ist davon abhängig, welche Liste wir erstellen - die Liste wiederum ist abhängig vom Hintergrund der Aussage der Liste). Ich gehe also durch die Sammeldati und öffne die Arbeitsdateien. Es gibt jetzt drei Möglichkeiten.
- Ich muss bestimmte Blätter aufrufen, die sich durch einen Zeitraum definieren oder
- Ich muss ein Makro aufrufen, damit Daten aktualisiert werden, welche vom aktuellen Datum abhängig sind und
- Ich lese nur Daten aus.
Für Punkt drei kann ich ja theoretisch durch die Kenntnis des Pfades die Formel zum Auslesen direkt in meine Ausgabeliste schreiben und hinterher durch copy - paste festschreiben. Werde ich demnächst mal machen, kommt aber eigentlich nur in einem Fall vor.
Puntke eins und zwei sind so die Standardvarianten. Nun ist es noch wichtig zu wissen, dass wir im workbook.open der Arbeitsdateien bereits für das Übersichtsblatt innerhalb der Arbeitsdatei einen Code gebastelt haben, der die Daten auf dem Übersichtsblatt aktualisiert. Das ist während der täglichen Arbeit gut und hilfreich, beim Erstellen der Listen jedoch unnötig. Hier sind andere Makros sinnvoll, die Aktualisierungen erzeugen. Da ich fast immer ein bestimmtes Blatt suchen muss, um Daten auszulesen bzw. eine Aktualisierung über einen Prozess erzeuge, muss ich also die Arbeitsdatei öffnen, brauche aber nicht das workbook.open.
Wir planen zwar eine Umgestaltung unserer Arbeitsdateien, die grundsätzliche Problematik wird aber bleiben, nur dass wir bei den neuen Arbeitsdateien innerhalb eines Registerblattes suchen müssen und nicht mehr mehrere Register durchsuchen müssen.
Das zum Hintergrund. An Mengen kommt es schon mal vor, dass wir bis zu 50 Daten aus einer Datei auslesen (im Extremfall), normal sind so 10 - 20 Daten. momentan sind es aber ca. 100 Arbeitsdateien, vor kurzem waren es jedoch auch schon an die 1.000 - und es könnten theoretisch noch sehr viel mehr werden.
Beim Probieren habe ich bisher nicht erkennen können, dass workbook.open unbeabsichtigt gestartet wurde. Und wenn es bei einer von 10 Dateien passiert, ist es nicht so schlimm - lediglich ein zeitliches „Problem“ - inhaltlich verändert sich durch das workbook.open nichts. Denn dafür sind ja die anderen Codes gedacht.
Grüße.