Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1168to1172
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
Sortieren Text mit zahl
Markus
Hallo alle zusammen,
folgendes Problem quält mich.
Habe eine liste mit Strasse und nummer bs.p hofstr. 12 / hofstr. 2 usw.
mein Problem ist das wenn ich die liste Sortiere, es mir den TExt mit der 12 an den anfang setzt und nicht die 2
will aber (weil logisch) die hausnummer 2 vor 12 kommt diese nach oben haben.
gibt es da ne lösung?
MFG Markus

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Nachfrage
05.08.2010 14:10:22
Tino
Hallo,
kann es auch eine VBA Lösung sein?
Gruß Tino
AW: Nachfrage
05.08.2010 14:12:00
Markus
hallo
ja wäre auch in Ordnung
Gruß Markus
kannst mal testen...
05.08.2010 14:50:48
Tino
Hallo,
die Spalte wo die Straßen stehen und die Tabelle müsstest Du im Code anpassen.
Zudem müssen zwei Spalten frei sein für Hilfspalten die am Ende wieder gelöscht werden.
Ist dies nicht möglich, müssen man sich was anderes einfallen lassen.
(Hilfstabelle oder Datei oder Array, kommt auf den Tabellenaufbau an)
Sub Sortiere()
Dim rngRange As Range
Dim oWS As Worksheet

'Spalte anpassen 
Const lnrColSortSpalte As Long = 3
'Tabelle anpassen 
Set oWS = Sheets("Tabelle1")

With Application
    .ScreenUpdating = False
    .EnableEvents = False
    
        With oWS
            With .UsedRange
                With .Columns(.Columns.Count).Offset(0, 1).Resize(, 2)
                     .Columns(1).FormulaR1C1 = _
                     "=LOOKUP(9^9,--RIGHT(RC" & lnrColSortSpalte & ",COLUMN(R1)))"
                     .Columns(2).FormulaR1C1 = _
                     "=SUBSTITUTE(RC" & lnrColSortSpalte & ",RC[-1],"""")"
                End With
            End With
            
            With .UsedRange
                 .Sort _
                     Key1:=.Cells(2, .Columns.Count), Order1:=xlAscending, _
                     Key2:=.Cells(2, .Columns.Count - 1), Order2:=xlAscending, Header:=xlYes
                 
                    oWS.Range(.Columns(.Columns.Count), .Columns(.Columns.Count - 1)).EntireColumn.Delete
            End With
        End With

    .ScreenUpdating = True
    .EnableEvents = True
End With
End Sub
Gruß Tino
Anzeige
Nur, wenn nach den Hausnr (als Zahl!) separat...
05.08.2010 14:12:27
Luc:-?
…sortiert wird, Markus!
Evtl hat man aber auf Excelformeln auch dafür eine Fml-Lösung gefunden… ;-)
Gruß Luc :-?

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige