Ich hole mir in einer Datei alle Dateien (also die Namen derer) aus einem Ordner und will diese Dateien dann nacheinander zur Bearbeitung aufrufen. Dh. also, in den nacheinander aufzurufenden Dateien sollen Eingaben erfolgen, gespeichert und geschlossen werden und nach Speicherung wieder zur Ursprungsdatei zurück, um die nächsten Dateien aufzurufen. Wie muss ich da das Makro schreiben, über Anfänge bin ich leider nicht hinausgekommen.
Klaus-Dieter, guten Tag! Wo du Recht hast hast du Recht, aber hier handelt es sich um helfende Stunden von Mitarbeitern bei Laib und Seele. Und das sind nun mal dann einzeln zuzuordnende Angaben. Die andere Datei ist ja nur dafür da, meine Faulheit die einzelnen Dateien immer selber zu laden, zu unterstützen. Auch wenn nicht jede Woche die gleiche /selbe Anzahl Helfer dabei ist geht es schneller, als immer händig zu schauen, welche Datei ich laden muss.
07.06.2021, 10:12 (Dieser Beitrag wurde zuletzt bearbeitet: 07.06.2021, 10:14 von Stephan.)
Hallo,
es ginge wahrscheinlich auch einfacher, dass mit einer Routine eine Datei nach der anderen aufgerufen wird, es sind ja nur die "persönlichen" Dateien in diesem Ordner. aber auch dafür fällt mir keine VBA-Lösung ein, es muss ja nach dem Öffnen Zeit für eine Bearbeitung sein. Vielleicht fällt doch jemand dafür eine Lösung ein.
ein Pseudo-Code um alle Dateien eines Ordners zu bearbeiten:
Code:
sub F_en() dim WB as workbook const Pfad as string = "c:\temp\" '<<< anpassen f = dir(Pfad & "*.xlsx") do until f = "" set WB = workbooks.open(pfad & f) 'hier die Codes für die Daten wb.close 0 f = dir loop end sub
Falls auch Dateien in Unterordnern verarbeitet werden sollen, wird der Code deutlich anderst.
mfg
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28 • Stephan
Hallo Fennek, dank schon mal für den aufgezeigten Weg. Werde es nachher einbauen und sehen, ob es klappt. Sollte eigentlich, weil die sonstige Eingabe ja auch schon funktionierte, und der Vorschlag (der Mantel drumherum) für mich als Laien sogar verständlich klingt.
soweit funktioniert das Ganze ja schon mal, die erste Datei öffnet sich nach einigem Flackern des Bildschirms (das sollte ich evtl. noch hinkriegen bei einer etwas anderen Einstellung) und ich kann auch die notwendigen Eingaben in der geöffneten Datei tätigen. Aber dann nimmt mein stümperhaftes Wissen wieder Besitz von mir. Ich komme nicht aus der geöffneten Datei zum Speichern und damit zurück zur Datei mit dem Programmaufruf. Was muss ich da noch tun? Evtl. durch Aufruf des Programms mit CALL....?
danke für eure Hilfsbereitschaft. Aber irgendwie sehe ich wohl vor lauter Bäumen nicht den Wald (oder mir bekommt die Hitze nicht). Irgendwo muss in meiner Betrachtungs- und Ausführungsart ein gewaltiger Bock sein, ich komme aus der geöffneten Datei (im Beispiel nur eine) nicht dazu diese zu schließen und die neue aufzurufen. Entgegen meiner ersten Planung will ich ja jetzt mit diesem Konstrukt die Daten direkt aus dem Ordner holen. Vielleicht helfen zwei Blicke mir eine Lösung zu offerieren.
also, der Ansatz von Fennek öffnet, bearbeitet und schließt eine nach der anderen Datei. Da ist kein Eingriff von Dir vorgesehen. Man könnte den Code eventuell mit einem Userform erweitern, welches bei der modalen Einstellung einen Eingriff ermöglicht. Wenn Du das userform schließt, könnte dann die Schleife weiter laufen, die Datei speichern und schließen und mit der nächsten weiter machen. ...
Eine andere Variante wäre, dass ein Code nur die Datei öffnet, und Du speicherst und schließt sie manuell. Je nachdem, wie man den Code schreibt, könnte nach dem Schließen automatisch die nächste Datei, dann aber auf Basis einer Liste, geöffnet werden usw.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • Stephan