Wie kann ich eine Excel Tabelle automatisch auf mehrere Blätter aufteillen?

3 Antworten

Ok, ich gehe jetzt mal davon aus das deine Tabelle in Zeile 1 eine Überschrift hat und diese und die nächsten 25000 in eine neue Datei abgelegt werden soll.

Sobald diese neue Datei dann erstellt ist, wird sie in einem von dir festgelegten Ordner abgelegt. Den Namen der Datei habe ich jetzt so eingebaut das du ihn über eine Inputbox selbst anlegen kannst. Ich dachte jetzt an sowas wie 1-25000, 25001-50000 usw.

Diese neue Datei wird wenn sie erstellt wurde auch gleich dort abgespeichert und geschlossen.

Bevor du das in deiner Original Datei einbaust, würde ich dir raten immer erst eine Sicherung von dieser zu erstellen und den Code vorher in der Kopie zu testen,

Das folgende Modul baust du bitte wie folgt in deine Kopie ein:

ALT+F11 und dann im linken Abschnitt mit der rechten Maustaste "Datei importieren"

Dort wird dann dieses Modul eingefügt, welches du hier findest:

http://workupload.com/file/7XUaZwb

Wenn du dich mit dem einfügen von Modulen auskennst kannst du auch den folgenden Code kopieren und einfügen.

Das Modul sieht wie folgt aus:

Beschreibung steht Fett dahinter, Fett und Kusiv musst du anpassen.

Sub teilen()

Rows("1:25001").Select ' Hier wird jetzt Zeile 1 bis 25001 gewählt
Selection.Copy 'schneidet die markierten Zeilen aus
Workbooks.Add 'Erstellt eine neue Arbeitsmappe
ActiveSheet.Paste 'Fügt die ausgeschnittenen Zeilen in die neue Arbeitsmappe ein
Range("A1").Select 'markiert die Zelle A1

'Ab jetzt kommt der Teil wo die neu erstellte Arbeitsmappe gespeichert wird
Dim strVerzeichnis As String
Dim strName As String
Dim strInbox As String
strName = InputBox("Bitte Namen eingeben") 'Da wird nachher im Makro der Name abgefragt wie die Datei heißen soll
strVerzeichnis = "C:\Users\Mimi\Desktop\Teilen\" 'Hier musst du dein Verzeichnis anlegen
ActiveWorkbook.SaveAs strVerzeichnis & strName & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close 'Schließt die neu erstellte Arbeitsmappe

Windows("Teilen_automatisch.xlsm").Activate 'Anpassen auf deine Original Datei
Rows("2:25001").Select 'Hier wird jetzt Zeile 2-25001 gelöscht, die Überschrift bleibt stehen
Selection.Delete Shift:=xlUp 'Hier werden die jetzt übertragenen 25000 Zeilen im Original entfernt
Range("A1").Select 'markiert die Zelle A1
End Sub

Falls du das ganze zum anschauen brauchst habe ich hier eine Musterdatei mit 100000 Zeilen zum testen.

http://workupload.com/file/6ft5f7G

Falls du nicht damit klar kommst immer raus damit.

25

Nachtrag:

Das Makro kannst du mit ALT+F8 oder über den Reiter Ansicht und da auf Makros ausführen.

Du kannst dir aber auch einfach eine kleine Form oder ein Button in die erste Zeile einbauen und das mit dem Makro belegen.

0
40
@schmiddi1967

Wenn man vom Lustgewinn beim Ausarbeiten eines Makros mal absieht: Es war sicher mehr Arbeit, das Makro auszuarbeiten (für Dich) und es zu installieren und zu testen (für Frager), als Aus der Datei 16x je einen Block mit 25000 Zeilen in je eine Neue Datei einzukopieren und ebensooft abzuspeichern. ;▬⌯((

ich bin sehr für Arbeitsersparnis, aber bei Dingen, die nicht allzu aufwändig sind, arbeite ich selbst meist lieber zu Fuß...

1
25
@Iamiam

Ich gehe eigentlich bei solchen Fragen immer davon aus, dass diese Suche dann öfter mal gebraucht wird.

Wenn nur einmalig ist wenigstens eine passende Antwort für jemanden da der das gleiche mal brauchen sollte.

Ja und vom Lustgewinn mal ganz abgesehen :)))))

1

Wenn es eine einmalige Aktion ist, würde ich das ehrlich gesagt von Hand machen. Es geht auch per Makro, dann sind allerdings einige Fragen zu klären:

Was genau soll kopiert werden, d.h. Zeilen sind klar, aber welche Spalten? Nur die Inhalte oder auch Formatierungen?

Sind es genau 400000 Zeilen bzw. was ist, wenn die Zahl nicht glatt durch 25000 teilbar ist? Auf die letzte Seite dazupackèn oder eine neue anfangen?

Ist die Datenquelle das erste Tabellenblatt? Sind die weiteren Tabellenblätter schon angelegt oder soll das auch im Makro passieren?

 

40

Da habe ich Deine AW vorher nicht gelesen, bin aber zu dem gleichen Urteil gekommen! (hab nur nochmal reingeschaut, weil ein anderer Kommentar (AW Tron) bewertet wurde, und hab dabei die AW mit Makro gesehen)

0

Hallo,

Excel 2010 verfügt über 1.048.576 Zeilen, da ist noch Spielraum.

Falls es sich um eine bessere, Datenbereichfindung handelt folgender Vorschlag.

Du kannst eine Zusatzspalte kreieren bzw. einfügen indem der Bereich angegeben wird, z. B. in Zelle A1 "1 - 25000" eingeben, dann Zellen A1 bis A25000 markieren, unter "Ausrichtung" - "Verbinden und zentrieren", desweiteren in Zelle A25001 "25001 - 50000" eingeben, dann Zellen A25001 bis A50000 markieren und wie zuvor beschrieben verbinden, etc.

Wenn jetzt in Spalte A mit dem Cursor navigiert wird, erfolgt der Sprung zum nächsten Bereich (von A1 zu A25001, usw.).

Ansonsten könnte man das ganze auch so lösen:

Zellen A1 bis A400000 durchnummerieren, dann unter "Start" - "Bearbeiten" - "Suchen und Auswählen" - "Suchen nach:" z. B. die Zahl 5000 eingeben, dann springt der Cursor zu A5000.

Gruß Tron

40

Der Cursor springt auch zu A5000, wenn man das in das Namenfeld (links neben der Bearbeitungszeile) eingibt!

Das Zellen-verbinden vorher kann man sich also sparen.

1

mehrere Zellen-Bezüge bei Excel gleichzeitig ändern?

Hallo,

ich habe Daten mit m-Spalten und n-Zeilen von denen ich immer jeweils ausgewählte Zellen benötige, genauer jede n-te Zeile einer Spalte (z.B. A13, A23, A33 usw.). Gibt es eine Formel, mit der man jede n-te Zeile einer Tabelle kopieren und in eine neue Tabelle schreiben kann?

...zur Frage

Excel: Duplikate über mehrere Tabellen markieren?

Spalte B hat einen numerischen Wert. Diesen möchte ich nun über mehrere Blätter hinweg im Excel vergleichen und die Duplikate farblich markieren. Bedingte Formatierung kann das ja, aber nur immer auf einer Tabelle, nicht über die gesamte Arbeitsmappe.

...zur Frage

Haken in Tabelle setzen und diese automatisch drucken?

Wie kann ich in einer Tabelle gewünschte Zeilen mit einem Haken auswählen und automatisch nur diese auszudrucken?

Am besten mit Excel?

Mit Excel kenne ich mich einigermaßen aus, jedoch hält sich meine Erfahrung mit Programmieren in Grenzen.

...zur Frage

Suche eine Tabelle für die Maschenanzahl beim Stricken einer Mütze.

Hi.

Ich suche eine Tabelle, aus welcher ich herauslesen kann, für was für einen Kopfumfang ich wieviele Maschen benötige.

Ich habe schon so einige Anleitungen gefunden, aber entweder kriege ich den ganzen Spaß nicht auf meine Rundnadel, oder die Mütze wird viiiiel zu klein.

Ich hoffe, Ihr könnt mir helfen.

Gruß, Hendrik

...zur Frage

Excel - Zeilen hinzufügen

Schönen guten Tag, ich habe ein kleines Excel-Problem und hoffe auf Eure Hilfe!

Ich habe ein Arbeitsblatt, in dem mehrere Tabellen untereinander stehen. Am Ende der Tabellen lässt sich auch jeweils, wie gewünscht, per Tabulator eine neue Zeile einfügen. Die anderen Tabelle "rutschen" dann jeweils weiter nach unten.

Nun habe ich einen Button erstellt, der in allen Tabellen automatisch Zeilen mit einem bestimmten Inhalt ausblendet. Das Makro scheint jedoch leider auch zu bewirken, dass ich nur noch in der untersten Tabelle Zeilen per Tabulator hinzufügen kann. Bei den Tabellen darüber geht dies nur, bis die nächste Tabelle erreicht ist. Die unteren Tabellen schieben sich quasi nicht mehr automatisch nach unten, wenn in der Tabelle drüber Zeilen hinzugefügt werden.

Was kann ich tun, um auch bei aktiviertem Button/Makro Zeilen in allen Tabellen automatisch hinzufügen zu können?

Vielen Dank!

...zur Frage

kann man zeilen in excel zusammenführen?

ich habe eine Excel-Tabelle mit mehr als 6000 Zeilen. Alle enthalten Text und Ziffern, wobei eigentlich immer 2 zusammengehören. Kann man irgendwie alle markieren und alle in 2er Paaren zu einer Zeile zusammenführen? Also jeweils eine gerade mit einer ungeraden, so dass dann der Text/Ziffern aus jeweils 2 zeilen in einer steht?

Vielen Dank.

...zur Frage

Was möchtest Du wissen?