mit VBA überflüssige Spalten löschen und sortieren
Hallo Forum Team, bastla, und alle anderen
ich möchte gerne in meinem Excel Worksheet mit zig Spalten nur ein paar wenige Behalten. Jetzt ist die Frage wie dies am besten möglich ist. Die überflüssigen Spalten löschen oder die nötigen kopieren und wieder einsetzen?
Hier der letztere Ansatz:
Nun die Fragen, wie separiert man mehrere Spalten? Meine erste Zeile funktioniert ja nicht ... Ich möchte nur die oben genannten behalten bzw. alle anderen löschen
Wie sortiere ich Spalten wenn ich z.B. eine andere Reihenfolge als Kopie haben möchte? Ebenfalls in der ersten Code Zeile so ja nicht möglich?!
Grüße, Gregor
ich möchte gerne in meinem Excel Worksheet mit zig Spalten nur ein paar wenige Behalten. Jetzt ist die Frage wie dies am besten möglich ist. Die überflüssigen Spalten löschen oder die nötigen kopieren und wieder einsetzen?
Hier der letztere Ansatz:
Worksheets(2).Columns("I, T, V, O, CX").Copy 'Spalten kopieren
Worksheets(2).Range("1:65535").Clear 'Blatt löschen
Worksheets(2).Cells(1, 1).Paste 'Spalten wieder einsetzen
Nun die Fragen, wie separiert man mehrere Spalten? Meine erste Zeile funktioniert ja nicht ... Ich möchte nur die oben genannten behalten bzw. alle anderen löschen
Wie sortiere ich Spalten wenn ich z.B. eine andere Reihenfolge als Kopie haben möchte? Ebenfalls in der ersten Code Zeile so ja nicht möglich?!
Grüße, Gregor
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 82776
Url: https://administrator.de/contentid/82776
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
2 Kommentare
Neuester Kommentar
Moin,
das geht mit der Union-Methode:
Erst das clear, dann das paste geht allerdings nicht, daher hab ich mal den Copy-Befehl auf das 2. Tabellenblatt gemacht. Ist mal wieder schnell und dreckig hingeschrieben, hoffe das Prinzip wird klar... ;)
Sortieren geht mit der sort-Methode (einfach mal ein Makro aufzeichnen und abschreiben, da wird das dann eigentlich klar)
Gruß,
Henrik
das geht mit der Union-Methode:
Sub SpaltenKopieren()
Dim ran As Range
Set ran = ActiveSheet.Columns("I")
Set ran = Union(ran, ActiveSheet.Columns("T"))
Set ran = Union(ran, ActiveSheet.Columns("V"))
'...
ran.Copy
Worksheets(2).Paste
End Sub
Sortieren geht mit der sort-Methode (einfach mal ein Makro aufzeichnen und abschreiben, da wird das dann eigentlich klar)
Gruß,
Henrik