Supportnet / Forum / Tabellenkalkulation
Sortieren in Excel
Frage
Hallo,
möchte
1900/2
1900/12
1900/4
1900/7
1900/20
wie folgt sortienen:
1900/2
1900/4
1900/7
1900/12
1900/20
leider sortiert Excel 2000 (Win2000) wie folgt:
1900/12
1900/2
1900/20
1900/4
1900/7
Weiß jemand eine Lösung ?
Herzlichen Dank
Lars
Antwort 1 von Saarbauer
Hallo,
Eine Lösung wäre bei allen einstelligen Zahlen eine null davor zu setzen, somit würde aus
1900/2
1900/02
Eine weitere Lösung wäre die Angaben auf 2 Zellen aufzuteilen
Leider sind die Angaben nicht so aussagekräfig, dass man sagen kann ob eine der beiden Lösungen brauchbar ist
Gruß
Helmut
Eine Lösung wäre bei allen einstelligen Zahlen eine null davor zu setzen, somit würde aus
1900/2
1900/02
Eine weitere Lösung wäre die Angaben auf 2 Zellen aufzuteilen
Leider sind die Angaben nicht so aussagekräfig, dass man sagen kann ob eine der beiden Lösungen brauchbar ist
Gruß
Helmut
Antwort 2 von JLM
Hallo Lars
Ich würde Daten Text in Spalten probieren
Getrennt - Trennzeichen Anderes /
Die Daten werden somit in Spalte A 1900 und Spalte B 12 ( bsp: 1900/12)
Du kannst nach Spalte B sortieren
Hoffe es hilft dir weiter
Gruss
JLM
Ich würde Daten Text in Spalten probieren
Getrennt - Trennzeichen Anderes /
Die Daten werden somit in Spalte A 1900 und Spalte B 12 ( bsp: 1900/12)
Du kannst nach Spalte B sortieren
Hoffe es hilft dir weiter
Gruss
JLM
Antwort 3 von nighty
hi all :))
wie gewünscht :))
gruss nighty
Option Explicit
Sub suchen()
Dim zaehler0 As Long
Dim zaehler2 As Long
Dim zaehler3 As Integer
Dim zaehler4 As Boolean
Dim neu As String
For zaehler0 = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
For zaehler3 = 1 To Len(Cells(zaehler0, 1))
If Mid(Cells(zaehler0, 1), zaehler3, 1) = "/" Then
If Len(Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)) - Len(Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)))))) = 1 Then
neu = "00" + Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)))
Cells(zaehler0, 1) = neu + Mid(Cells(zaehler0, 1), 1, zaehler3 - 1)
zaehler4 = True
End If
If Len(Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)) - Len(Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)))))) = 2 _
And zaehler4 = False Then
neu = "0" + Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)))
Cells(zaehler0, 1) = neu + Mid(Cells(zaehler0, 1), 1, zaehler3 - 1)
zaehler4 = True
End If
If Len(Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)) - Len(Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)))))) = 3 _
And zaehler4 = False Then
neu = Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)))
Cells(zaehler0, 1) = neu + Mid(Cells(zaehler0, 1), 1, zaehler3 - 1)
End If
End If
Next zaehler3
zaehler4 = False
Next zaehler0
Rows("1:65535").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
For zaehler2 = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
If Cells(zaehler2, 1) <> "" Then
Cells(zaehler2, 1) = Mid(Cells(zaehler2, 1), 4, Len(Cells(zaehler2, 1) - 3)) + "/" + Mid(Str(Val(Mid(Cells(zaehler2, 1), 1, 3))), 2, Len(Str(Val(Mid(Cells(zaehler2, 1), 1, 3)))) - 1)
End If
Next zaehler2
End Sub
wie gewünscht :))
gruss nighty
Option Explicit
Sub suchen()
Dim zaehler0 As Long
Dim zaehler2 As Long
Dim zaehler3 As Integer
Dim zaehler4 As Boolean
Dim neu As String
For zaehler0 = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
For zaehler3 = 1 To Len(Cells(zaehler0, 1))
If Mid(Cells(zaehler0, 1), zaehler3, 1) = "/" Then
If Len(Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)) - Len(Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)))))) = 1 Then
neu = "00" + Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)))
Cells(zaehler0, 1) = neu + Mid(Cells(zaehler0, 1), 1, zaehler3 - 1)
zaehler4 = True
End If
If Len(Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)) - Len(Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)))))) = 2 _
And zaehler4 = False Then
neu = "0" + Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)))
Cells(zaehler0, 1) = neu + Mid(Cells(zaehler0, 1), 1, zaehler3 - 1)
zaehler4 = True
End If
If Len(Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)) - Len(Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)))))) = 3 _
And zaehler4 = False Then
neu = Mid(Cells(zaehler0, 1), zaehler3 + 1, Len(Cells(zaehler0, 1)))
Cells(zaehler0, 1) = neu + Mid(Cells(zaehler0, 1), 1, zaehler3 - 1)
End If
End If
Next zaehler3
zaehler4 = False
Next zaehler0
Rows("1:65535").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
For zaehler2 = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
If Cells(zaehler2, 1) <> "" Then
Cells(zaehler2, 1) = Mid(Cells(zaehler2, 1), 4, Len(Cells(zaehler2, 1) - 3)) + "/" + Mid(Str(Val(Mid(Cells(zaehler2, 1), 1, 3))), 2, Len(Str(Val(Mid(Cells(zaehler2, 1), 1, 3)))) - 1)
End If
Next zaehler2
End Sub
Antwort 4 von nighty
hi all :)
ich vergass noch dieses
es werden nur 3 stellen als max hinter dem schrästrich erlaubt
z.b.
1900/222
gruss nighty
ich vergass noch dieses
es werden nur 3 stellen als max hinter dem schrästrich erlaubt
z.b.
1900/222
gruss nighty