19.12.2016, 14:28
Hallo zusammen,
ich bin relativ neu in der Welt der automatisierten Excelbearbeitung und stehe direkt vor einem für mich unlösbaren Problem.
Ich habe im Prinzip Dateien mit nur zwei Spalten (A und B), aber dafür zB 100 mal 1024 Zeilen untereinander.
Nun will ich ein Makro schreiben, das automatisch Zeile 1025 bis 2048 aus Spalte B ausschneidet und in Spalte C einsetzt. Anschließend das selbe mit den nächsten 1024 Zeilen aus Spalte B, nur dieses mal in Spalte D und so weiter, so lange bis alle Zeilen in Spalten verschoben sind.
Bisher habe ich es so gemacht:
Range("B1025:B2048").Select
Selection.Cut
Range("C1").Select
ActiveSheet.Paste
Range("B2049:B3072").Select
Selection.Cut
Range("D1").Select
ActiveSheet.Paste
Range("B3073:B4096").Select
Selection.Cut
Range("E1").Select
ActiveSheet.Paste
usw.
Das funktioniert auch soweit, nur wäre es natürlich sehr viel besser wenn er automatisch in die Range Felder das richtige einsetzt: Also beim ersten Range: 1025:2048, dann beim nächsten 2049:3072 und immer in 1024er abschnitten so weiter, bis eben keine Zeilen mehr vorhanden sind.
Außerdem sollte er immer die Spalte Automatisch anpassen, also beim starten bei C1, dann D1, E1 und so weiter.
Kann da jemand helfen?
Vielen Dank schonmal im Vorraus! [Bild: clear.png]
ich bin relativ neu in der Welt der automatisierten Excelbearbeitung und stehe direkt vor einem für mich unlösbaren Problem.
Ich habe im Prinzip Dateien mit nur zwei Spalten (A und B), aber dafür zB 100 mal 1024 Zeilen untereinander.
Nun will ich ein Makro schreiben, das automatisch Zeile 1025 bis 2048 aus Spalte B ausschneidet und in Spalte C einsetzt. Anschließend das selbe mit den nächsten 1024 Zeilen aus Spalte B, nur dieses mal in Spalte D und so weiter, so lange bis alle Zeilen in Spalten verschoben sind.
Bisher habe ich es so gemacht:
Range("B1025:B2048").Select
Selection.Cut
Range("C1").Select
ActiveSheet.Paste
Range("B2049:B3072").Select
Selection.Cut
Range("D1").Select
ActiveSheet.Paste
Range("B3073:B4096").Select
Selection.Cut
Range("E1").Select
ActiveSheet.Paste
usw.
Das funktioniert auch soweit, nur wäre es natürlich sehr viel besser wenn er automatisch in die Range Felder das richtige einsetzt: Also beim ersten Range: 1025:2048, dann beim nächsten 2049:3072 und immer in 1024er abschnitten so weiter, bis eben keine Zeilen mehr vorhanden sind.
Außerdem sollte er immer die Spalte Automatisch anpassen, also beim starten bei C1, dann D1, E1 und so weiter.
Kann da jemand helfen?
Vielen Dank schonmal im Vorraus! [Bild: clear.png]