Microsoft Excel

Herbers Excel/VBA-Archiv

alphanummerisch mehrere Spalten sortieren | Herbers Excel-Forum


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

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

  

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


Beiträge aus den Excel-Beispielen zum Thema "alphanummerisch mehrere Spalten sortieren"