Ich habe versucht, eine Arbeitsmappe in separate Arbeitsmappen aufzuspalten, basierend auf identifizierten Arbeitsblättern in der Arbeitsmappe. Beispiel: Angenommen, ich hatte ein Arbeitsblatt für jeden Buchstaben im Alphabet.Einen angegebenen Bereich von Arbeitsblättern in eine neue Arbeitsmappe unter einem neuen Namen aufteilen
Ich möchte aufzuspalten einer Tabelle A bis C in eine neue Arbeitsmappe mit dem Namen „A bis C.“
D bis I in eine neue Arbeitsmappe mit dem Namen „D bis I“ gehen
etc ...
würde meine Idee zuerst sein, ein Arbeitsblatt einfügen, die das neue Arbeitsmappe wird es, und die Spalten B bis so viele Spalten in Spalte A Namen, da es werden die Namen der Arbeitsblätter sein kopiert in die neue Arbeitsmappe.
Hat jemand eine Idee, wie ein Makro für diese zu machen? Ich habe es selbst versucht, war aber erfolglos.
Vielen Dank!
Ich fand dieses Makro da draußen. Glaubt jemand, dass es geändert werden kann, um zu arbeiten?
Sub Test()
Dim Sh As Worksheet
Dim Rng As Range
Dim c As Range
Dim List As New Collection
Dim Item As Variant
Dim WB As Workbook
Application.ScreenUpdating = False
Set Sh = Worksheets("Sheet1")
Set Rng = Sh.Range("A2:A" & Sh.Range("A65536").End(xlUp).Row)
On Error Resume Next
For Each c In Rng
List.Add c.Value, CStr(c.Value)
Next c
On Error GoTo 0
Set Rng = Sh.Range("A1:H" & Sh.Range("A65536").End(xlUp).Row)
For Each Item In List
Set WB = Workbooks.Add
Rng.AutoFilter Field:=1, Criteria1:=Item
Rng.SpecialCells(xlCellTypeVisible).Copy WB.Worksheets(1).Range("A1")
Rng.AutoFilter
With WB
.SaveAs ThisWorkbook.Path & "\" & Item & ".xls"
.Close
End With
Next Item
Sh.Activate
Application.ScreenUpdating = True
End Sub
Ja, das wäre ziemlich einfach. Wie Sie vorschlagen, haben Sie ein Kontrollblatt. Mein Vorschlag wäre, den neuen Dateinamen in der Spalte A zu haben, und dann die Blätter in die Spalten B, C, D, etc. zu verschieben. Dann können Sie einfach die Spalte A durchlaufen, in jeder Zeile eine Arbeitsmappe erstellen, Schleife über die Kopieren Sie diese Arbeitsblätter in die neue Arbeitsmappe, und speichern Sie die Datei. Wenn Sie Probleme haben, fügen Sie hier einen Code ein, der zeigt, wo Sie stecken geblieben sind, und wir können Ihnen helfen. – YowE3K
Sie sollten hinzufügen, welchen Code Sie selbst erstellt haben. Wenn Sie keinen Code anzeigen, wird die SO-Community dies normalerweise als Zeichen dafür nehmen, dass Sie versuchen, jemanden dazu zu bringen, den Code für Sie zu schreiben. – BWMustang13
Vielen Dank für Ihre Eingabe @ YowE3K. Ich habe hinzugefügt, woran ich arbeite. Denkst du ich bin auf dem richtigen Weg? – Thenewguy50