Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.06.2024 19:56:24
17.06.2024 19:39:46
Anzeige
Archiv - Navigation
1720to1724
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

Tabellenblätter einzeln abspeichern

Tabellenblätter einzeln abspeichern
13.11.2019 10:56:21
Sebastian
Hallo,
ich würde gerne in einer Datei die ganzen Tabellenblätter in jeweils separate Dateien abspeichern.
Das habe ich soweit auch hinbekommen:
Sub Aufheben()
Dim WsTabelle As Worksheet
For Each WsTabelle In Sheets
WsTabelle.Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & ActiveSheet.Name & ".xls"
ActiveWorkbook.Close True
Next WsTabelle
End Sub
Das Makro liegt jedoch in der Personal.xlsb im XLStart Ordner.
Somit werden die neuen Dateien natürlich auch im XLStart Ordner abgespeichert.
Wie bekomme ich es hin, dass die neuen Dateien im Ordner/Pfad der Exceltabelle gespeichert werden und nicht der des Makros?
Vielen Dank und Grüße
Sebastian

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter einzeln abspeichern
13.11.2019 11:12:19
Pierre
Hallo Sebastian,
ich würde mal einfach tippen, wenn du das Makro als eigenes Modul innerhalb der Mappe anlegst, die du aufteilen willst, könnte das schon so funktionieren.
Gruß Pierre
AW: Tabellenblätter einzeln abspeichern
13.11.2019 11:14:59
Sebastian
Hallo Pierre,
ja dann funktioniert es.
Leider ist es nicht eine Datei sondern immer neue Dateien die erstellt werden.
Von daher brauche ich ein Allgemeines Makro welches in der Personal.xlsb liegt.
Auch ist der Zielordner nicht immer gleich, somit kann ich auch keinen festen Pfad vorgeben.
Grüße
Sebastian
eine letzte Idee ...
13.11.2019 11:29:15
Pierre
Filename:=ActiveWorkbook
AW: Tabellenblätter einzeln abspeichern
13.11.2019 11:14:35
fcs
Hallo Sebastian,
Sub Aufheben()
Dim WsTabelle As Worksheet
Dim sPfad as String
aPfad = Activeworkbook.Path
For Each WsTabelle In Sheets
WsTabelle.Copy
ActiveWorkbook.SaveAs Filename:=aPfad  & "\" & ActiveSheet.Name & ".xls"
ActiveWorkbook.Close True
Next WsTabelle
End Sub
Vorsicht: Wenn die aktive Datei im neueren Excel-Dateiformat vorliegt (xlsx, xlsm), dann musst du beim Speichern unter noch das Dateiformat mitgeben, d.h die Endung des Dateinamens muss dann ".xls" (3003 und älter) oder ".xlsx" (2007 und neuer) sein.
LG
Franz
Anzeige
AW: Tabellenblätter einzeln abspeichern
13.11.2019 11:19:44
Beverly
Hi Sebastian,
ermittle zuerst den Pfad der aktiven Arbeitsmappe und schreibe ihn auf eine Variable, die du dann beim speichern benutzen kannst:
Sub Aufheben()
Dim WsTabelle As Worksheet
Dim strPfad As String
strPfad = ActiveWorkbook.Path & "\"
For Each WsTabelle In Sheets
WsTabelle.Copy
ActiveWorkbook.SaveAs Filename:=strPfad & "\" & ActiveSheet.Name & ".xls"
ActiveWorkbook.Close True
Next WsTabelle
End Sub


306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige