Anzeige
Archiv - Navigation
1380to1384
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Arbeitsblätter in einzelne Dateien aufteilen

Arbeitsblätter in einzelne Dateien aufteilen
15.09.2014 16:26:31
Peter
Hallo zusammen,
ich habe eine Datei mit vielen Arbeitsblättern die ich per Makro regelmäßig in einzelne Dateien aufteile und unter C:\Temp abspeichere. Dazu benutze ich aktuell den folgenden Code (Dateien werden anhand des Namen des Arbeitsblatts und eines ausgelesenen Datums abgespeichert):
For Each blatt In ActiveWorkbook.Worksheets
Sheets(blatt.Name).Copy
ActiveWorkbook.SaveAs Filename:="C:\Temp\" & blatt.Name & " ab " & TEDate & ".xlsx"
ActiveWorkbook.Close
Next blatt

Das funktioniert soweit auch super. Nur habe ich das Problem, dass einige dieser einzelnen Arbeitsblätter in eine Datei gehören müssten, nämlich dann, wenn die ersten drei UND die letzten drei Stellen des Arbeitsblattnamens identisch sind. Ein Beispiel für die Arbeitsblätter in meiner großen Datei:
- 211 TGE
- 225-00 TGE
- 225-01, 02 TGE

- 229 TGE
- 236-00 TGE
- 236-01, 03 TGE

- 211 ZJE
- 225-00 ZJE
- 225-01, 02 ZJE

- 229 ZJE
- 236-00 ZJE
- 236-01, 03 ZJE

Im Moment wird jedes dieser Arbeitsblätter in einer eigenen Datei abgespeichert. Das hilft schon enorm. Allerdings gehören eigentlich "225-00 TGE" und "225-01, 02 TGE" in eine Datei sowie "225-00 ZJE" und "225-01, 02 ZJE" auch. Ich habe mehrere dieser "großen" Dateien, darum kann ich die Liste auch nicht "hart" ins Makro schreiben - eine "Erkennung", ob die ersten drei Stellen (im Beispiel 225) UND die letzten drei Stellen (TGE bzw. ZJE) mehrmals auftauchen (kann auch drei Mal sein!), wäre die beste Variante.
Die neue Datei müsste dann wiederum - im Gegensatz zum aktuellen Code, der ja nur pauschal den Arbeitsblattnamen (bspw. 225-00 TGE) nimmt - unter 225 TGE abgespeichert werden, also ohne Zusatz "00" oder "01, 02", da ja nun beide Arbeitsblätter in der Datei enthalten sind. Für alle anderen Arbeitsblätter wie bspw. 211 TGE oder 229 ZJE soll das Makro weiterhin genau das tun, was es heute tut.
Gibt es hier einen VBA-Gott, der das lösen kann? Der manuelle Aufwand das immer zusammen zu führen ist wirklich riesig :-(
Für tolle Hilfe spendiere ich gern ein Bier :-)

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
doppelt owT
15.09.2014 16:48:07
Rudi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige