Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
880to884
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
880to884
880to884
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zahlenliste wird alphanumerisch sortiert

Zahlenliste wird alphanumerisch sortiert
04.07.2007 15:43:00
Frank
Hallo,
ich habe in einer Tabelle eine Liste von Einträgen des Formats
9G1
9G10
9G8
9G100
9G15 usw.
zu sortieren. Das 9G vor der Zahl bleibt immer gleich.Ich möchte nun eine normale numerische Sortierung und nicht die alphanumerische Sortierung von Excel.
Das Endergebnis sollte also so aussehen:
9G1
9G8
9G10
9G15
9G100 usw.
und NICHT:
9G1
9G10
9G100
9G15
9G8
Die Spalte, in der die zu sortierenden Werte stehen, ist mit dem Format 'Standard' formatiert.
Nun habe ich eine zweite Spalte angelegt, in der ich mit folgender Formel
=WERT(TEIL(A7;3;LÄNGE(A7)-2))
1. die eigentliche Zahl aus dem Textstring extrahiere
2. dieses Ergebnis mit WERT in eine richtige Zahl verwandle
Das Ergebnis in dieser zweiten Spalte sieht so aus:
1
10
8
100
15 usw.
Diese zweite Spalte ist mit dem Format 'Zahl' formatiert.
Mein Problem besteht darin, daß ich nun trotzdem in der zweiten Spalte beim aufsteigenden Sortieren eine alphanumerische Sortierung bekomme und keine numerische, wie gewünscht.
Liegt das daran, daß dort eine Formel drin steht? Wo liegt der Fehler? Warum erkennt Excel die Zahlen nicht als Zahlen an?
Ich hoffe, ich habe mich klar genug ausgedrückt. Ich arbeite mit Excel X für Mac.
Allerbesten Dank im voraus für Eure Hilfe oder eine Idee zur Problemlösung. Sicher gibt es auch einen eleganten VBA-Code oder ein Makro, um gleich die erste Spalte richtig zu sortieren, aber das kann ich leider nicht.
Frank

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlenliste wird alphanumerisch sortiert
04.07.2007 15:48:00
Rudi
Hallo,
=Teil(A1;3;255)*1
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Zahlenliste wird alphanumerisch sortiert
04.07.2007 15:58:30
Frank
Hallo und danke für die schnelle Reaktion! :-)
Die vorgeschlagene Formel geht leider auch nicht.
Liegt das vielleicht an der Art, wie ich sortiere? Habe gelesen, daß sich Excel immer die letzten Sortieroptionen merkt und dann automatisch wieder anwendet. Aber das Ergebnis ist immer das gleiche, egal ob ich einfach den Sortier-Button in der Leiste drücke oder über Daten - Sortieren gehe. Hmm ...

AW: Zahlenliste wird alphanumerisch sortiert
04.07.2007 16:07:01
Rudi
Hallo,
keine Ahnung. Unter WIN geht's.
Vielleicht mit =TEXT(TEIL(A1;3;255);"0000")
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Zahlenliste wird alphanumerisch sortiert
04.07.2007 16:03:42
Peter
Hallo Frank,
das nachfolgende Makro sollte es tun:


Option Explicit
Sub Sortieren()
Dim WkSh     As Worksheet
Dim lZeile   As Long
Dim lLetzte  As Long
Dim sWert    As String
    Application.ScreenUpdating = False
    Set WkSh = Worksheets("Tabelle1")
    With WkSh
       lLetzte = IIf(.Range("A65536") <> "", 65536, .Range("A65536").End(xlUp).Row)
       Columns("A:A").Insert Shift:=xlToRight
       Columns("A:A").NumberFormat = "@"
       For lZeile = 1 To lLetzte
          sWert = Mid(Range("B" & lZeile).Value, 3, Len(Range("B" & lZeile).Value) - 2)
          Select Case Len(sWert)
             Case 1
                Range("A" & lZeile).Value = "000" & sWert
             Case 2
                Range("A" & lZeile).Value = "00" & sWert
             Case 3
                Range("A" & lZeile).Value = "0" & sWert
             Case 4
                Range("A" & lZeile).Value = sWert
          End Select
       Next lZeile
    End With
    Range("A1:Z" & lLetzte).Sort _
       Key1:=Range("A1"), Order1:=xlAscending, _
       Header:=xlGuess, _
       OrderCustom:=1, _
       MatchCase:=False, _
       Orientation:=xlTopToBottom
    Columns("A:A").Delete Shift:=xlToLeft
    Application.ScreenUpdating = True
End Sub 


Gruß Peter

Anzeige
AW: Zahlenliste wird alphanumerisch sortiert
04.07.2007 16:16:21
Frank
Der Code ergibt einen Fehler:
Unzulässiger Prozeduraufruf oder ungültiges Argument in folgender Zeile:
sWert = Mid(Range("B" & lZeile).Value, 3, Len(Range("B" & lZeile).Value) - 2)
Was bedeutet das B? In Spalte B stehen nämlich andere Daten. Muß da was korrigiert werden.
Alles super, wir kriegen das bestimmt noch hin, bin guter Hoffnung :-)
Frank

AW: Zahlenliste wird alphanumerisch sortiert
04.07.2007 16:08:18
Peter
Hallo Frank,
meine erste Version war etwas 'unsauber', deshalb hier die bessere Variante:


Option Explicit
Sub Sortieren()
Dim WkSh     As Worksheet
Dim lZeile   As Long
Dim lLetzte  As Long
Dim sWert    As String
    Application.ScreenUpdating = False
    Set WkSh = Worksheets("Tabelle1") ' <== Tabellenblattnamen ggf. anpassen !!!
    With WkSh
       lLetzte = IIf(.Range("A65536") <> "", 65536, .Range("A65536").End(xlUp).Row)
       .Columns("A:A").Insert Shift:=xlToRight
       .Columns("A:A").NumberFormat = "@"
       For lZeile = 1 To lLetzte
          sWert = Mid(.Range("B" & lZeile).Value, 3, Len(.Range("B" & lZeile).Value) - 2)
          Select Case Len(sWert)
             Case 1
                .Range("A" & lZeile).Value = "000" & sWert
             Case 2
                .Range("A" & lZeile).Value = "00" & sWert
             Case 3
                .Range("A" & lZeile).Value = "0" & sWert
             Case 4
                .Range("A" & lZeile).Value = sWert
          End Select
       Next lZeile
       .Range("A1:Z" & lLetzte).Sort _
          Key1:=Range("A1"), Order1:=xlAscending, _
          Header:=xlGuess, _
          OrderCustom:=1, _
          MatchCase:=False, _
          Orientation:=xlTopToBottom
       .Columns("A:A").Delete Shift:=xlToLeft
    End With
    Application.ScreenUpdating = True
End Sub 


Gruß Peter

Anzeige
AW: Zahlenliste wird alphanumerisch sortiert
04.07.2007 16:26:28
Frank
Der Code wirft leider einen Fehler aus - siehe meine vorige Antwort auf Deinen Vorschlag.
Danke!
Frank

AW: Zahlenliste wird alphanumerisch sortiert
04.07.2007 20:38:18
Peter
Hallo Frank,
da ich eine neue Spalte vor die Spalte A einfüge, verschiebt sich alles um eine Spalte und
deine zu sortierenden Werte stehen dann in Spalte B.
Aber ich schick dir gern mein Testmakro, das bei mir bestens funktioniert.
Gruß Peter
https://www.herber.de/bbs/user/43834.xls

AW: Zahlenliste wird alphanumerisch sortiert
04.07.2007 18:03:00
Frank
keiner mehr eine Idee?

AW: Zahlenliste wird alphanumerisch sortiert
04.07.2007 18:51:00
HermannZ
Hallo Frank;
wenn du schon mit einer neuen Spalte arbeitest dann geht auch folgendes;
https://www.herber.de/bbs/user/43830.xls
Gruss HermannZ
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige