Hi habe folgenden Code (verurteilt mich nicht, beschäftige ich seit 2 Tagen mit VBA). Auf dem Worksheet "Projekt" habe ich in Spalte E einen Filter. Je nachdem, wie dieser eingestellt ist, wird die ganze Tabelle in in das Worksheet "Ablage" kopiert. Dann wird eine neue Exceldatei erzeugt, welche nach der Zelle E2 aus dem Worsheet "Ablage" benannt wird. Dann wird der Inhalt aus "Ablage" in die neue Exceldatei kopiert. Diese wird dann gespeichert und geschlossen. Das Worksheet "Ablage" existiert nur, damit je nach Filter auch die Benennung der neuen Datei (über E2) geändert wird. In dem Worksheet "Projekt" ändert sich ja "E2" nicht, auch wenn ich den Filter verändere.
Jetzt zur Frage: Eigentlich möchte ich für jede Filermöglichkeit eine neue Datei erstellen, welche nach dem jeweiligen Filter benannt wird. Die ganze Funktion muss also irgendiwe noch in einen loop. Weiß jemand wie das umzusetzen ist?
Sub ListeErstellen()
Workbooks("ProjektT.xlsm").Worksheets("Projekt").Range("A:J").Copy
Workbooks("ProjektT.xlsm").Worksheets("Ablage").Range("A1").PasteSpecial Paste:=xlPasteValues
Dim A As String
A = Worksheets("Ablage").Range("E2")
Dim MeineArbeitsmappe As Workbook
Set MeineArbeitsmappe = Workbooks.Add
ActiveWindow.Caption = "MeineArbeitsmappe"
MeineArbeitsmappe.SaveAs "C:\Users\Krause\Desktop\Projekt VBA\" & A, FileFormat:=52
Workbooks("ProjektT.xlsm").Worksheets("Ablage").Range("A:J").Copy
Workbooks(A).Worksheets("Tabelle1").Range("A1").PasteSpecial Paste:=xlPasteValues
ActiveWorkbook.Close (True)
End Sub
|