Anzeige
Archiv - Navigation
920to924
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
920to924
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sortierung erfolgt nicht wunschgemäß

Sortierung erfolgt nicht wunschgemäß
31.10.2007 17:15:00
Fritz_W
Hallo Excelfreunde,
ich möchte meine Tabelle sortieren, mit dem ersten (Sortier-)Kriterium soll eine Spalte sortiert werden, deren Zellen Formeln enthält, aus denen als Werte entweder eine Zahl oder der Wert "" resultiert.
Ich möchte erreichen, dass zunächst alle Zellen mit den Zahlen und diese absteigend angeordnet werden, anschließend die Zellen mit den Formeln, deren Wert "" ergibt.
Mit dem nachfolgend aufgezeichneten Code funktioniert das eben nicht, da zunächst die "" Zellen erscheinen und erst dann die Zellen mit den Zahlen.
Wie kann ich das entsprechend meinen oben beschriebenen Vorstellungen realisieren.
Vielen Dank für eure Unterstützung.
mfg
Fritz

Sub Sortieren_Alter_abst()
' Sortieren Makro
' Makro am 31.10.2007 von Fritz aufgezeichnet
Range("A2:M1000").Select
Selection.Sort Key1:=Range("E2"), Order1:=xlDescending, Key2:=Range("L2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: Sortierung erfolgt nicht wunschgemäß
31.10.2007 17:38:00
Erich
Hallo Fritz,
eine etwas allgemeinere Lösung, bei der man die Sortierreihenfolgen verschieder Typen festlegen _ kann:

Option Explicit
Sub Test_Sort_var()
Sort_var 1, 1, "abcde"
End Sub
Sub Sort_var(intSpalte As Integer, intAufAb As Boolean, strSortfolge As String)
'              |                    |                  5 Zeichen für versch. Typen:
'              |                    |                     a Zahlen
'              |                    |                     b Texte
'              |                    |                     c Wahrheitswerte
'              |                    |                     d leere Zellen
'              |                    |                     e Fehlerwerte
'              |                    1 für auf- 2 für absteigend
'              Nr. der Spalte, nach der sortiert werden soll          ' 23.01.2007 gi
Dim TT(1 To 5) As String, lngZ As Long, Calc As XlCalculation
If Len(strSortfolge)  5 Then Exit Sub
For lngZ = 1 To 5
TT(lngZ) = Mid(strSortfolge, lngZ, 1)
Next lngZ
Calc = Application.Calculation
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'  -------------------------------------------------------- Sortspalte generieren
lngZ = Cells(Rows.Count, intSpalte).End(xlUp).Row
Columns(intSpalte).Insert
Cells(1, intSpalte) = "SortKey"
Range(Cells(2, intSpalte), Cells(lngZ, 1)).FormulaLocal = _
"=WENN(ISTZAHL(B2);""" & TT(1) & """;" _
& "WENN(ISTLOG(B2);""" & TT(3) & """;" _
& "WENN(ISTLEER(B2);""" & TT(4) & """;" _
& "WENN(ISTFEHLER(B2);""" & TT(5) & """;""" & TT(2) & """))))"
'  -------------------------------------------------------- Sortieren
Cells(1, intSpalte).Sort _
Key1:=Cells(1, intSpalte), Order1:=xlAscending, _
Key2:=Cells(1, intSpalte + 1), Order2:=intAufAb, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'  -------------------------------------------------------- Aufräumen
Columns(intSpalte).Delete
Application.Calculation = Calc
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Sortierung erfolgt nicht wunschgemäß
31.10.2007 17:52:51
Fritz_W
Hallo Erich,
wieder einmal erste Sahne, was Du mir hier anbietest.
Besten Dank
Viele Grüße
Fritz.

AW: Sortierung nach Datentypen
31.10.2007 18:43:35
Erich
Hallo Fritz,
danke für deine Rückmeldung!
Leider hatte ich einen Fehler drin: intAufAb soll kein Boolean sein
(könnte dann auch nicht die Werte 1 und 2 annehmen).
Ich habs geändert in soAufAb as XlSortOrder,
mit den möglichen Werten 1 (xlAscending) und 2 (xlDescending).

Sub Sort_var(intSpalte As Integer, soAufAb As XlSortOrder, strSortfolge As String)
'              |                    |                  5 Zeichen für versch. Typen:
'              |                    |                     a Zahlen
'              |                    |                     b Texte
'              |                    |                     c Wahrheitswerte
'              |                    |                     d leere Zellen
'              |                    |                     e Fehlerwerte
'              |                    1 für auf- 2 für absteigend
'              Nr. der Spalte, nach der sortiert werden soll          ' 23.01.2007 gi
Dim TT(1 To 5) As String, lngZ As Long, Calc As XlCalculation
If Len(strSortfolge)  5 Then Exit Sub
For lngZ = 1 To 5
TT(lngZ) = Mid(strSortfolge, lngZ, 1)
Next lngZ
Calc = Application.Calculation
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'  -------------------------------------------------------- Sortspalte generieren
lngZ = Cells(Rows.Count, intSpalte).End(xlUp).Row
Columns(intSpalte).Insert
Cells(1, intSpalte) = "SortKey"
Range(Cells(2, intSpalte), Cells(lngZ, 1)).FormulaLocal = _
"=WENN(ISTZAHL(B2);""" & TT(1) & """;" _
& "WENN(ISTLOG(B2);""" & TT(3) & """;" _
& "WENN(ISTLEER(B2);""" & TT(4) & """;" _
& "WENN(ISTFEHLER(B2);""" & TT(5) & """;""" & TT(2) & """))))"
'  -------------------------------------------------------- Sortieren
Cells(1, intSpalte).Sort _
Key1:=Cells(1, intSpalte), Order1:=xlAscending, _
Key2:=Cells(1, intSpalte + 1), Order2:=soAufAb, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'  -------------------------------------------------------- Aufräumen
'   Columns(intSpalte).Delete
Application.Calculation = Calc
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Sortierung nach Datentypen
31.10.2007 18:53:00
Fritz_W
Hallo Erich,
nochmals Dank und schönen Gruß
Fritz

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige