Betrifft: alphanummerisch mehrere Spalten sortieren
von: Ludmila
Geschrieben am: 26.12.2009 10:54:08
Haoo Spezialisten,
ich möchte nacholgende Werte aufsteigend sortieren lassen
SPA SPB usw.
12 Text bis Spalte 12
13 Text bis Spalte 12
14 Text bis Spalte 12
Die Spalte "A:A" ist als Text formatiert
Egal was ich probieren es kommen immer verschiedene Sortierfolgen raus.
Sub AngSort() Dim Endrow As Integer Dim wks As Worksheet Set wks = Sheets("A") With wks .Select Endrow = .Cells(RowsCount, 1).End(xlUp).Row + 1 Range(Cells(21, 1), Cells(Endrow, 11)).Select Selection.Sort Key1:=wks.Range("A21"), _ Order1:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom Range("A19").Select End With End Sub
Sub AufEinheit() Dim var As Variant Dim intRow, intLastRow As Integer Dim txt As String Dim wks As Worksheet Set wks = Sheets("Data") With wks var = Application.Match(frmStart.ComboB5.Value, Columns(1), 0).End(xlUp).Row+1 intRow = .Cells(Rows.Count, 1).Row + 1 End With If IsError(var) Then txt = frmStart.ComboB5.value With wks intRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1 .Cells(intRow, 1) = txt .Range("A:A").Sort _ Key1:=Range("A1"), _ Order1:=xlAscending, _ Header:=xlNo End With If txt = "" Then ActiveCell.Offset(0, 1).Value = txt End If frmStart.ComboB5.Clear frmStart.ComboB5.List = wks.Range("A1").CurrentRegion.Columns(1).Value For intRow = 0 To frmStart.ComboB5.ListCount - 1 If frmStart.ComboB5.List(intRow) = txt Then Exit For Next intRow frmStart.ComboB5.ListIndex = intRow End If End Sub
Betrifft: Formatiere Deine Spalte nicht auf Text...
von: Tino
Geschrieben am: 26.12.2009 11:32:46
Hallo,
, eine Textsortierung funktioniert anders wie eine Sortierung nach Zahlen.
Beispiel Text wird von links nach rechts Sortiert und nicht nach dem Wert.
129
13
145
Weil die drei in 13 kleiner als die 4 in 145 ist, kommt die 13 auch vor die 145.
Gruß Tino
Betrifft: AW: Formatiere Deine Spalte nicht auf Text...
von: Ludmila
Geschrieben am: 26.12.2009 11:41:22
Hallo Tino,
die Spalte A muß aber als Text formatiert sein, das heist 1.0 oder 1.1 gibt es den keine Lösung hierzu?
Danke!
Gruß
Ludmila
Betrifft: Parameter DataOption1:
von: Tino
Geschrieben am: 26.12.2009 11:57:57
Hallo,
setze mal beim Sortierbefehl den Parameter DataOption1:=xlSortTextAsNumbers mit ein.
Gruß Tino
Betrifft: AW: Parameter DataOption1:
von: Ludmila
Geschrieben am: 26.12.2009 12:52:46
Funktioniert leider nicht
Gruß
Ludmila
Betrifft: dann mach es über eine Hilfsspalte...
von: Tino
Geschrieben am: 26.12.2009 12:56:52
Hallo,
wo Du die Werte als richtige Zahl darstellst.
Gruß Tino
Betrifft: AW: dann mach es über eine Hilfsspalte...
von: Ludmila
Geschrieben am: 26.12.2009 13:14:13
Ok dann geht es eben nicht anders
Danke!
Schönen Gruß noch und einen guten Rutsch ins neue Jahr
KLudmila
Betrifft: wünsche ich auch, geht schon noch anders...
von: Tino
Geschrieben am: 26.12.2009 13:38:04
Hallo,
, die Daten in einem Array laden und in diesem die Daten sortieren
(prcSort oder prcQuickSort von Nepumuk), danach die Daten wieder zurückschreiben.
Aber ob sich dieser Aufwand lohnt?! Ich würde da lieber mit Hilfspalte arbeiten.
Gruß Tino
Betrifft: hier ein Beispiel mit Hilfspalte...
von: Tino
Geschrieben am: 26.12.2009 14:07:53
Hallo,
kannst Dir mal dieses Beispiel anschauen.
https://www.herber.de/bbs/user/66821.xls
Gruß Tino
Betrifft: AW: hier ein Beispiel mit Hilfspalte...
von: Ludmila
Geschrieben am: 27.12.2009 20:25:43
Danke,Tino