Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
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

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

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.
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
Anzeige
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige