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

Sortierung Zahlen/Buchstaben in einer Zeile?

Sortierung Zahlen/Buchstaben in einer Zeile?
02.01.2020 08:31:57
erichm
Hallo,
ich habe pro Zelle immer Zahlen-/Buchstabenkombinationen in den Spalten B bis E und G bis J. Von diesen 8 Spalten sind immer nur maximal 5 Spalten in der Zeile befüllt.
Jetzt sollen entweder:
ab Spalte L bis P
oder nur in Spalte L (verkettet)
die befüllten Spalten einer Zeile aufsteigend sortiert werden.
Muster:
Spalten: B C D E G H I J L M N O P
T1 T2 T3 T4 T1 T2 T3 T4 T1 T2 T3 T4 T5
02R 05R 08R 11A 01A 01A 02R 05R 08R 11A
02R 11A 01R 20R 28A 01R 02R 11A 20R 28A
02A 14R 25A 02R 26R 02A02R14R25A26R
03R 03A 08R 11A 12A 03A03R08R11A12A
05R 08R 04A 17R 18R
08R 11A 13R 17R 04R
Musterdatei:
https://www.herber.de/bbs/user/134079.xlsx
Vielen Dank für eine Hilfe.
mfg

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortierung Zahlen/Buchstaben in einer Zeile?
02.01.2020 08:51:12
Hajo_Zi
warum nicht einfach sortieren Spalte B?
Die im Beitrag genannten Werte stehen nur in Spalte B.

AW: Sortierung Zahlen/Buchstaben in einer Zeile?
02.01.2020 09:11:55
Christian
Hallo Erich,
als Ansatz zB. so:
Option Explicit
Sub SortPerLine()
Dim i As Long, j As Long, k As Long
Dim vntIn()
With ThisWorkbook.Sheets("Tabelle1")
For i = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row
ReDim vntIn(4)
k = 0
For j = 2 To 10
If j  6 Then
If Len(Trim(.Cells(i, j))) Then
vntIn(k) = Trim(.Cells(i, j))
k = k + 1
If k = 5 Then Exit For
End If
End If
Next
vntIn = fncBubbleSort(vntIn)
.Cells(i, 12).Resize(, 5) = vntIn
Next
End With
End Sub
Function fncBubbleSort(vntIn)
Dim i As Long, j As Long
Dim vntTmp
For i = 0 To UBound(vntIn)
For j = i To UBound(vntIn)
If vntIn(i) > vntIn(j) Then
vntTmp = vntIn(i)
vntIn(i) = vntIn(j)
vntIn(j) = vntTmp
End If
Next
Next
fncBubbleSort = vntIn
End Function

Gruß
Christian
Anzeige
Danke Christian - funktioniert einwandfrei owT
07.01.2020 09:44:34
erichm
...
AW: auch mit nur einer Formel möglich ...
02.01.2020 09:51:36
neopa
Hallo Erich,
... in L2:
=INDEX($A3:$J3;AGGREGAT(15;6;SPALTE($B3:$J3)/(ZÄHLENWENN($B3:$J3;"&gt="&$B3:$J3)
=AGGREGAT(14;6;ZÄHLENWENN($B3:$J3;"&gt="&$B3:$J3);SPALTE(A1)));1))&""

und Formel danach bis P2 und nach unten ziehend kopieren.
Gruß Werner
.. , - ...
Danke neopa C - funktioniert einwandfrei owT
07.01.2020 09:45:04
erichm
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige