HERBERS Excel-Forum - das Archiv
Bestimmte Spalten verschieben
Martin

Hallo und ein gutes Neues Jahr an alle!
In der Zeile 1 habe ich verschiedene Überschriften (z.B. Name, Ort, Status, Vermittler und viele mehr) und darunter jeweils die dazugehörenden Daten.
Die Spalten sind leider falsch sortiert. Die Spalte mit der Überschrift "Status" muss A sein und soll dorthin verschoben werden, diejenige mit "Name" B, "Ort" C.....
Ich möchte das nicht mit Cut und Insert machen, sondern irgendwie die Überschrift mit der Spaltenummer (Status = 1, Name =2) verbinden und so verschieben.
Besten Dank für Hilfe.

AW: Bestimmte Spalten verschieben
Klaus-Dieter

Hallo Martin,
das kannst du ganz einfach mit der Standardsortierfunktion lösen. Dazu musst du
1. eine benutzerdefinierte Liste erstellen. (Status, Name, Ort .. ) Das machst du unter Extras / Optionen / Benutzerdefinierte Liste.
2. Stellst du bei Sortieren unter Optionen unten links auf Spalten sortieren um. Oben links kannst du unter benutzerdefinierte Sortierreihenfolge deine zuvor erstellte Liste auswählen. Danach löst du wie gewohnt den Sortiervorgang aus. In meinem kleinen Beispiel siehst du das Eregebnis, grüner Bereich:
Tabelle1

 ABCDEFGHI
1NameOrtStatusVermittler StatusNameOrtVermittler
21234 3124
31234 3124
41234 3124
51234 3124
61234 3124
71234 3124
81234 3124
91234 3124
101234 3124
111234 3124


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Viele Grüße Klaus-Dieter

Online-Excel
AW: Bestimmte Spalten verschieben
Martin

Hallo Klaus-Dieter
Besten Dank für die Antwort.
Das Problem ist, dass das Ganze ein Teil eines längeren VBA-Codes sein sollte. Eigentlich läuft es schon, bis auf das verschieben der Spalten.....
Daher wäre ich froh, wenn es eine VBA-Lösung des Problems gäbe.
Vielen Dank im voraus.
AW: Bestimmte Spalten verschieben
Klaus-Dieter

Hallo Martin,
das ging aus deiner Farge nicht hervor. :-(
Viele Grüße Klaus-Dieter

Online-Excel
AW: Bestimmte Spalten verschieben
Klaus-Dieter

Hallo Martin,
ich bin zwar kein Freund des Makrorekorders, aber bei speziellen Sortierfunktionen ist er ganz hilfreich.
Modul Modul1 Option Explicit Sub Makro1() ' ' Makro1 Makro ' Makro am 04.01.2010 von Klaus-Dieter aufgezeichnet ' ' Range("F1:I11").Sort Key1:=Range("F1"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=10, MatchCase:=False, Orientation:=xlLeftToRight, _ DataOption1:=xlSortNormal End Sub
Code eingefügt mit VBA in HTML 2.0.0.1
Du müsstest das aber selber aufzeichnen, weil sonst die Parameter nicht passen. Die benutzerdefinierte Liste musst du allerdings auf jeden Fall erst einmal erstellen.
Viele Grüße Klaus-Dieter

Online-Excel
AW: mit Sortierfunktion
Daniel

Hallo
du kannst das so machen:
1. die Überschriften entsprechend der Reihenfolge in eine Zahl umbenenen
2. die Spalten sortieren
3. die Reihenfolgenummern wieder durch die Texte ersetzen.
dazu dieses Makro, die Indexvariable musst du halt entsprechend der Anzahl der Spalten erweitern:
Sub SpaltenSortieren()
Dim Spalte(1 To 4) As String
Dim i As Long
Spalte(1) = "Status"
Spalte(2) = "Ort"
Spalte(3) = "Vermittler"
Spalte(4) = "Name"
For i = 1 To UBound(Spalte)
Rows(1).Replace Spalte(i), i, lookat:=xlWhole
Next
ActiveSheet.UsedRange.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
For i = 1 To UBound(Spalte)
Rows(1).Replace i, Spalte(i), lookat:=xlWhole
Next
End Sub
gruß, Daniel