13.04.2016, 11:19
Hallo zusammen,
Ich hoffe ihr könnt mir helfen.
Ich verwende das folgende Makro, das das hier tut:
"wenn in Zeile 1 die Überschriften stehen, wird so für jeden verschiedenen Eintrag in Spalte A (mit Ausnahme der Überschrift aus Zeile 1) eine neue Datei erstellt und unter dem Namen des Eintrags im gleichen Ordner wie die Ausgangsmappe gespeichert. "
------------------------
Sub ExcelnachSpaltetrennen()
Dim MyDic As Object, rng As Range, Zelle As Range, ws As Worksheet, wb As Workbook
Application.ScreenUpdating = False
Set MyDic = CreateObject("Scripting.Dictionary")
Set ws = ActiveSheet
With ws
Set rng = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
For Each Zelle In rng.Offset(1, 0)
If MyDic(Zelle.Value) = "" And Not IsEmpty(Zelle) Then
MyDic(Zelle.Value) = 1
rng.AutoFilter field:=1, Criteria1:=Zelle
Set wb = Workbooks.Add
.UsedRange.SpecialCells(xlCellTypeVisible).Copy wb.Sheets(1).Cells(1, 1)
wb.SaveAs Filename:=ThisWorkbook.Path & "\" & Zelle & ".xlsx", FileFormat:=51
wb.Close False
rng.AutoFilter
End If
Next
End With
Application.ScreenUpdating = True
End Sub
------------------------
Meine Frage ist nun, wie ich das Makro anpassen kann, damit es nicht neue Dateien erzeugt auf Grund der Infos in Spalte A, sondern nach Spalte K ?
Vielen Dank!
Ich hoffe ihr könnt mir helfen.
Ich verwende das folgende Makro, das das hier tut:
"wenn in Zeile 1 die Überschriften stehen, wird so für jeden verschiedenen Eintrag in Spalte A (mit Ausnahme der Überschrift aus Zeile 1) eine neue Datei erstellt und unter dem Namen des Eintrags im gleichen Ordner wie die Ausgangsmappe gespeichert. "
------------------------
Sub ExcelnachSpaltetrennen()
Dim MyDic As Object, rng As Range, Zelle As Range, ws As Worksheet, wb As Workbook
Application.ScreenUpdating = False
Set MyDic = CreateObject("Scripting.Dictionary")
Set ws = ActiveSheet
With ws
Set rng = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
For Each Zelle In rng.Offset(1, 0)
If MyDic(Zelle.Value) = "" And Not IsEmpty(Zelle) Then
MyDic(Zelle.Value) = 1
rng.AutoFilter field:=1, Criteria1:=Zelle
Set wb = Workbooks.Add
.UsedRange.SpecialCells(xlCellTypeVisible).Copy wb.Sheets(1).Cells(1, 1)
wb.SaveAs Filename:=ThisWorkbook.Path & "\" & Zelle & ".xlsx", FileFormat:=51
wb.Close False
rng.AutoFilter
End If
Next
End With
Application.ScreenUpdating = True
End Sub
------------------------
Meine Frage ist nun, wie ich das Makro anpassen kann, damit es nicht neue Dateien erzeugt auf Grund der Infos in Spalte A, sondern nach Spalte K ?
Vielen Dank!