Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: alphanummerisch mehrere Spalten sortieren

alphanummerisch mehrere Spalten sortieren
Ludmila
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

Noch ein Problem!
Nach AfterUpdate einer Combobox soll der Wert im Blatt "Data" gesucht werden
wenn nicht gefunden dann eintragen, sortieren und ComboBox erneut einlesen.
Bei Fett bleibt er stehen und sagt die Listeingeschaft kann nicht festgelegt werden.

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

Anzeige
Formatiere Deine Spalte nicht auf Text...
26.12.2009 11:32:46
Tino
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
AW: Formatiere Deine Spalte nicht auf Text...
26.12.2009 11:41:22
Ludmila
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
Anzeige
Parameter DataOption1:
26.12.2009 11:57:57
Tino
Hallo,
setze mal beim Sortierbefehl den Parameter DataOption1:=xlSortTextAsNumbers mit ein.
Gruß Tino
AW: Parameter DataOption1:
26.12.2009 12:52:46
Ludmila
Funktioniert leider nicht
Gruß
Ludmila
dann mach es über eine Hilfsspalte...
26.12.2009 12:56:52
Tino
Hallo,
wo Du die Werte als richtige Zahl darstellst.
Gruß Tino
Anzeige
AW: dann mach es über eine Hilfsspalte...
26.12.2009 13:14:13
Ludmila
Ok dann geht es eben nicht anders
Danke!
Schönen Gruß noch und einen guten Rutsch ins neue Jahr
KLudmila
wünsche ich auch, geht schon noch anders...
26.12.2009 13:38:04
Tino
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
Anzeige
AW: hier ein Beispiel mit Hilfspalte...
27.12.2009 20:25:43
Ludmila
Danke,Tino

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige