Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1172to1176
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Codeergänzung sortieren

Codeergänzung sortieren
WalterK
Hallo,
vor einiger Zeit habe ich den nachstehenden Code im Forum erhalten. Er fügt (falls bestimmte Bedingungen erfüllt) sind eine Spalte ein, fügt die Daten von 2 Spalten ein, löscht die beiden "alten" Spalten, benennt die Überschrift um und sortiert als letztes die Tabelle nach der eingefügten Spalte. Die Überschriften sind immer in Zeile 2. Funktioniert auch tadellos.
Ein kleine Ergänzung müsste noch umgesetzt werden:
Sollte vor dem letzten Schritt des Codes (dem Sortieren) unmittelbar rechts neben der "neuen" Spalte "VOR- UND ZUNAME" eine Spalte mit der Überschrift "BEGINN" oder "VON" oder "ANFANG" sein, dann sollte die Sortierung zuerst nach der Spalte "VOR- UND ZUNAME" und dann noch nach der Spalte "BEGINN" oder "VON" oder "ANFANG" erfolgen.
Wer kann mir weiterhelfen?
Hier ist der Code:
Dim varCol_ZUNAME As Variant, lngZeileLetzte As Long
varCol_ZUNAME = Application.Match("ZUNAME", Rows(2), 0)
If IsError(varCol_ZUNAME) Then Exit Sub
lngZeileLetzte = Cells(Rows.Count, CLng(varCol_ZUNAME)).End(xlUp).Row
If lngZeileLetzte < 3 Then Exit Sub
Columns(2).Insert shift:=xlShiftToRight
varCol_ZUNAME = Application.Match("ZUNAME", Rows(2), 0)
Columns(CLng(varCol_ZUNAME) - 1).Copy
Columns(2).PasteSpecial xlPasteFormats
Application.CutCopyMode = False
varCol_ZUNAME = Application.Match("ZUNAME", Rows(2), 0)
Range(Cells(3, 2), Cells(lngZeileLetzte, 2)).FormulaR1C1 = "=" & "RC[" & varCol_ZUNAME - 2 & _
"]&"" ""&RC[" & varCol_ZUNAME - 3 & "]"
Range(Cells(3, 2), Cells(lngZeileLetzte, 2)).Formula = Range(Cells(3, 2), Cells( _
lngZeileLetzte, 2)).Value
Range(Columns(CLng(varCol_ZUNAME) - 1), Columns(CLng(varCol_ZUNAME))).Delete
Cells(2, 2) = "VOR- UND ZUNAME"
Columns(2).AutoFit
Range("A3:IV65536").Select
Selection.Sort Key1:=Range("B3"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A2").Select
Danke und Servus, Walter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Codeergänzung sortieren
22.08.2010 14:44:56
Gerd
Servus Walter,
wegen anderer xlVersion habe ich nicht getestet.
Meine Rückfrage in deinem anderen Beitrag hast Du nicht mehr beantwortet. Ggf. gibt es da
für "TextToColumns" eine kürzere Alternative.
Cells(2, 2) = "VOR- UND ZUNAME"
Columns(2).AutoFit
'"BEGINN" oder "VON" oder "ANFANG"
'Sortierung zuerst nach der Spalte "VOR- UND ZUNAME" und dann noch nach der Spalte "BEGINN" oder "VON" oder "ANFANG" erfolgen.
If Cells(3, 2) = "BEGINN" Or Cells(3, 2) = "VON" Or Cells(3, 2) = "ANFANG" Then
Range("A3:IV65536").Sort Key1:=Range("B3"), Order1:=xlAscending, _
key2:=Range("C3"), Order2:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Else
Range("A3:IV65536").Sort Key1:=Range("B3"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
Range("A2").Activate
Gruß Gerd
Anzeige
AW: Korrektur: Cells(2, 3) ! o.T.
22.08.2010 15:10:54
Gerd
Gruß Gerd
AW: Codeergänzung sortieren
22.08.2010 15:19:43
WalterK
Hallo Gerd,
Meine Rückfrage in deinem anderen Beitrag hast Du nicht mehr beantwortet Ich habe gar nicht mitbekommen, dass Du noch eine Rückfrage gestellt hast. Vielleicht auch darum, weil bereits alles bestens funktioniert hat.
Den heutigen Code habe ich noch nicht zum Laufen gebracht. Es wird die Spalte VOR- UND ZUNAME wie gewollt sortiert, die Spalte mit "BEGINN" oder "VON" oder "ANFANG" wird aber nicht mitsortiert.
Danke uns Servus, Walter
Natürlich funktioniert der Code ...
22.08.2010 15:22:40
WalterK
Hallo Gerd,
wieder bestens. Habe nicht aktualisiert und darum deine Berichtigung erst zu spät gesehen.
Danke nochmals und Servus, Walter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige