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

abwechselndes sortieren

abwechselndes sortieren
18.12.2020 08:09:17
vba_hans
Hallo Leute,
ich habe eine Tabelle die ich mit VBA sortieren möchte. Die Tabelle beinhaltet einen Code der immer gleich aussieht z.B.
8A513C
8A110I
8P101K
8P416Z
8I333A
8O963Z
....
Die erste Zahl ist immer gleich. Ich soll jedoch dann zuerst nach dem zweiten Zeichen (also dem Buchstaben) absteigend sortieren. Und anschließend die 3-stellige Zahl immer abwechselnd für den ersten Buchstaben aufwärts, für den zweiten Buchstaben abwärts, für den dritten Buchstaben aufwärts und so weiter. Die Anzahl der Codes ist unterschiedlich, also kann man nicht sagen wieviele Einträge es sind. Ich hoffe ihr versteht was ich meine. Es soll dann so aussehen:
8O963Z
8P416Z
8P101K
8I333A
8A513C
8A110I
Bis jetzt habe ich nur die Sortierung nach dem Buchstaben geschafft.
Bitte um Hilfe!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: abwechselndes sortieren
18.12.2020 08:12:24
vba_hans
Hab bis jetzt nur die Sortierung nach dem Buchstaben gschafft.

Sub Sortieren()
Dim lastrow As Double
Dim Row As Double
lastrow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "G").End(xlUp).Row
With Tabelle5
Range(Cells(4, 1), Cells(lastrow, 26)).Sort Key1:=Range("G" & "1"), Order1:=xlDescending,  _
Header:=xlNo
End With
End Sub

AW: abwechselndes sortieren
18.12.2020 09:38:31
ralf_b
wie wäre es mit Hilfsspalten in denen du die Zeichen extrahierst und diese dann sortierst?
AW: abwechselndes sortieren
18.12.2020 10:21:46
worti
Hallo Hans,
hier mal ein kleiner Beispielcode, wie du das machen kannst. Hier wird Spalte A ab Zeile 1 nach deinem Wunsch sortiert.
Sub Sortieren()
Dim lastrow As Double
Dim lngRow As Long
Dim lngStart As Long
Dim lngEnde As Long
Dim bolSortDirAsc As Boolean
lastrow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "G").End(xlUp).Row
Range(Cells(4, 1), Cells(lastrow, 26)).Sort Key1:=Range("G" & "1"), _
Order1:=xlDescending, Header:=xlNo
lngRow = 1
bolSortDirAsc = True
Do Until Cells(lngRow, 1).Value = ""
lngStart = lngRow
Do Until Not Mid(Cells(lngRow, 1).Value, 2, 1) = Mid(Cells(lngRow + 1, 1).Value, 2, 1)
lngRow = lngRow + 1
Loop
lngEnde = lngRow
If bolSortDirAsc Then
MySort lngStart, lngEnde, "Asc"
Else
MySort lngStart, lngEnde, "Desc"
End If
lngRow = lngRow + 1
bolSortDirAsc = Not bolSortDirAsc
Loop
End Sub
Function MySort(lngStart As Long, lngEnde As Long, sortDir As String)
Dim lngZeile As Long
Dim lngZeile2 As Long
Dim merkInhalt
If sortDir = "Asc" Then
For lngZeile = lngStart To lngEnde
For lngZeile2 = lngZeile To lngEnde
If Mid(Cells(lngZeile, 1).Value, 3, 3) > Mid(Cells(lngZeile2, 1).Value, 3, 3)  _
Then
merkInhalt = Cells(lngZeile, 1).Value
Cells(lngZeile, 1).Value = Cells(lngZeile2, 1).Value
Cells(lngZeile2, 1).Value = merkInhalt
End If
Next lngZeile2
Next lngZeile
Else
For lngZeile = lngStart To lngEnde
For lngZeile2 = lngZeile To lngEnde
If Mid(Cells(lngZeile, 1).Value, 3, 3) 

Gruß Worti
Anzeige
AW: abwechselndes sortieren
21.12.2020 18:20:22
wimb1213
Hallo Worti,
dein Code funktioniert super!
Danke vielmals!
Lg. Hans
AW: abwechselndes sortieren
18.12.2020 12:49:03
Yal
Hallo Hans,
ich würde den Vorschlag von Ralf nehmen.
In diese Hilfesplate fügst Du
=LINKS(A1;3)&(9-TEIL(A1;4;1))&TEIL(A1;5;1)&ZEICHEN(155-CODE(TEIL(A1;6;1)))
(ich gehe hier davon aus, dass die 6 Stelle immer eine Grossbuchstabe ist)
sortiere nach diese Spalte,
lösche anschliessend die Spalte oder deren Inhalt.
Viel Erfolg
AW: abwechselndes sortieren
19.12.2020 21:07:01
Vba_Hans
Hallo Leute,
Erstmal danke für die Lösungsvorschläge!
Ich komme leider erst am Montag dazu den Vorschlag von Ralf und Worti zu probieren, aber ich melde mich dann nochmal ob es funktioniert.
Lg. Hans
Anzeige
AW: abwechselndes sortieren
20.12.2020 07:52:49
Hajo_Zi
Hallo Hans,
offen bedeutet es soll noch eine Antwort kommen.
Warum ist dein Beitrag Offen.
Du willst doch was machen. Soll jemand vorbei kommen?
Das ist nur meine Meinung zu dem Thema.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige