Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.10.2025 09:06:52
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Separieren in Mappe - Makro

Forumthread: Separieren in Mappe - Makro

Separieren in Mappe - Makro
08.05.2020 09:23:29
Noob
Hallo zusammen,
vor einiger Zeit habe ich hier ein Makro gefunden, dass SeparierenInMappe heisst.
Bisher hat es auch gut gearbeitet. Allerdings scheint mit der Version 2016 eine Änderung an den Autofiltern vorgenommen worden zu sein.
D.h. die Erzeugung von den einzelnen Dateien funktioniert, allerdings sind immer alle Daten in den Ergebnisdateien enthalten.
Wie muss das Makro abgeändert werden, damit es wieder funktioniert?
Hier das Makro https:\/\/www.herber.de/bbs/user/137362.txt
Oder direkt:
Sub SeparierenInMappe()
Dim v, D As Object, wb As Workbook
Application.ScreenUpdating = False
Set D = CreateObject("scripting.dictionary")
With Tabelle1 'ggf. ANPASSEN !!!!
If .AutoFilterMode Then .AutoFilterMode = False
With .Range("A1").CurrentRegion
For Each v In .Columns(1).Offset(1).Value
If v  "" Then D(v) = 0
Next
For Each v In D.Keys
Set wb = Workbooks.Add(xlWBATWorksheet)
.AutoFilter 1, v
.Copy wb.Sheets(1).Cells(1)
With wb.Sheets(1)
.Name = v
.PageSetup.FitToPagesTall = 1
.PageSetup.FitToPagesWide = 1
.Cells.Font.Name = "Calibri"
.Cells.Font.Size = 11
.UsedRange.EntireColumn.AutoFit
End With
wb.SaveAs .Parent.Parent.Path & "\" & v & ".xlsx", xlOpenXMLWorkbook
wb.Close False
Next
.AutoFilter
End With
End With
MsgBox "Finished!"
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Beispieldatei?
08.05.2020 10:10:36
Tino
Hallo,
eine Beispieldatei wo es nicht geht wäre gut.
Gruß Tino
zum testen
08.05.2020 11:44:57
Tino
Hallo,
könnte damit zusammenhängen, weil nur die Tabelle kopiert wird.
Warum das so ist, kann ich auch nicht sagen!
Habe jetzt versucht den Bereich um eine Zeile zu erweitern.
Versuch mal so.
.Resize(.Rows.Count + 1).Copy wb.Sheets(1).Cells(1)

Gruß Tino
Anzeige
Noch eine Variante
08.05.2020 12:09:55
Tino
Hallo,
Sub SeparierenInMappe()
Dim v, D As Object, wb As Workbook, LO As ListObject
Application.ScreenUpdating = False
Set D = CreateObject("scripting.dictionary")
With Tabelle1 'ggf. ANPASSEN !!!!
Set LO = .ListObjects(1)
If .AutoFilterMode Then .AutoFilterMode = False
With .Range("A1").CurrentRegion
For Each v In .Columns(1).Offset(1).Value
If v  "" Then D(v) = 0
Next
For Each v In D.Keys
Set wb = Workbooks.Add(xlWBATWorksheet)
.AutoFilter 1, v
LO.HeaderRowRange.Copy wb.Sheets(1).Cells(1, 1)
LO.DataBodyRange.Copy wb.Sheets(1).Cells(2, 1)
With wb.Sheets(1)
.Name = v
.PageSetup.FitToPagesTall = 1
.PageSetup.FitToPagesWide = 1
.Cells.Font.Name = "Calibri"
.Cells.Font.Size = 11
.UsedRange.EntireColumn.AutoFit
End With
wb.SaveAs .Parent.Parent.Path & "\" & v & ".xlsx", xlOpenXMLWorkbook
wb.Close False
Next
.AutoFilter
End With
End With
MsgBox "Finished!"
End Sub
Gruß Tino
Anzeige
AW: Noch eine Variante
08.05.2020 12:31:49
Noob
Wow!
Vielen lieben Dank Tino!
Das sieht schon super aus!
Ich werde nochmal weiter testen.
Viele Grüße
Noob
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige