Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalte Doppelt Sortieren

Forumthread: Spalte Doppelt Sortieren

Spalte Doppelt Sortieren
21.01.2021 11:41:24
Mathias
Guten Morgen,
ich möchte euch gerne um Hilfe bitten.
Ich muss meine Spalte(A) doppelt sortieren. Sie enthält immer Einträge nach dem Schema:
AV 0043-21
AV 5463-21
AV 0752-20
…..
Das heißt die Buchstaben AV, dann eine Vierstellige Zahl und dann die letzten beiden Zahlen des Jahres.
Wie kann ich meine Zeilen zuerst nach den Jahreszahlen sortieren und dann erst nach den vierstelligen Nummern? Sodass alle Zeilen die eine -20 enthalten oben stehen und nach ihrer Vierstelligen Zahl sortiert sind und erst danach alle Zahlen denen eine -21 nachgestellt ist?
Bisher sortiere ich mit diesem Makro, aber das sortiert halt alles nach der vierstelligen Nummer und die Jahreszahl ist ihm dabei herzlich Wurst.
Vielen Dank im Voraus für eure Mühen. Auch für Erklärungen zu euren Lösungen bin ich immer dankbar einfach um noch dazuzulernen.
Viele Grüße
Mathias
Sub sortierennachAVNummer()
Dim s, S1 As Range
Dim LetzZ, LetzS As Long
LetzZ = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
LetzS = ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Column
Set s = ActiveSheet.Range(Cells(3, 1), Cells(LetzZ, LetzS))
'MsgBox s.Address
s.Sort key1:=Range("A2"), _
order1:=xlAscending
End Sub

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte Doppelt Sortieren
21.01.2021 11:50:21
onur
Wäre eine Hilfsspalte akzeptabel?
AW: Spalte Doppelt Sortieren
21.01.2021 12:21:43
Mathias
Eigentlich nicht.
Mit einer Zweiten Spalte die die Jahreszahlen sortiert hätte, ich das Problem bereits gelöst, aber neue Zeilen werden mithilfe eines Userform hinzugefügt und befüllt und habe überhaupt keine Lust alle Makros die in der Userform ablaufen an die neue Spalte anzupassen.
Tut mir leid.
Anzeige
AW: Spalte Doppelt Sortieren
21.01.2021 12:23:54
onur
Dann poste mal eine Datei zum Herumtesten.
AW: Spalte Doppelt Sortieren
21.01.2021 12:26:51
Daniel
Hi
Da du mit einem Makro sortiert, kannst du doch in diesem Makro so eine Hilfsspalte einfügen, zum Sortieren verwenden und dann wieder löschen, so dass die Tabelle außerhalb dieses Makros nicht verändert wird.
Gruß Daniel
AW: Spalte Doppelt Sortieren
21.01.2021 16:08:40
Mathias
So, Danke für eure Anregungen. Ich habe das alles mal zu dem Folgenden verarbeitet. Es gewinnt keinen Preis für Eleganz, aber es funktioniert.
Option Explicit
Sub sortierennachAVNummer()
Dim w1 As Worksheet
Dim s, S1, cel, c1 As Range
Dim i, c, r, LetzZ, LetzS As Long
Dim J As String
Dim NR As String
Set w1 = ActiveSheet
LetzZ = w1.Cells(Rows.Count, 1).End(xlUp).Row
LetzS = w1.Cells(2, Columns.Count).End(xlToLeft).Column
Set s = w1.Range(Cells(4, 1), Cells(LetzZ, LetzS + 1))
Set S1 = w1.Range(Cells(4, 1), Cells(LetzZ, 1))
For Each cel In S1.Cells
J = Right(cel, 2)
NR = Mid(cel, 4, 4)
r = cel.Row
w1.Cells(r, LetzS + 1).Value = J & NR
Next cel
s.Sort key1:=Cells(4, LetzS + 1), _
order1:=xlAscending
w1.Columns(LetzS + 1).ClearContents
End Sub

Anzeige
AW: Spalte Doppelt Sortieren
21.01.2021 16:25:46
Daniel
Das ist schon der richtige Weg.
Eleganter wirds, wenn man sich traut, auch in VBA Formeln zu verwenden.
Das spart die Schleife.
...
Set s = w1.Range(Cells(4, 1), Cells(LetzZ, LetzS + 1))
with s.Columns(s.Columns.Count)
.FormulaR1C1 = "Right(RC1,2)&Mid(RC1,4,4)"
s.sort key1:=.Cells, order1:=xlascending
.clear contents
End with
Gruß Daniel
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige