Microsoft Excel

Herbers Excel/VBA-Archiv

Sortieren, Sonerzeichen immer ans Ende

Betrifft: Sortieren, Sonerzeichen immer ans Ende von: Chris
Geschrieben am: 14.10.2020 07:51:52

Liebe VBAler,


ich möchte Einträge in Spalte A sortieren, A....Z.

Spalte A erhält auch Einträge, die ein Stern als erstes Zeichen aufweisen.

Alle Einträge mit einem Stern (*) sollen immer ans Ende gestellt werden.


Wie setzt man das per VBA um?


Viele Grüße


Chris

Betrifft: AW: Sortieren, Sonerzeichen immer ans Ende
von: Daniel
Geschrieben am: 14.10.2020 08:02:35

Hi

Beispielsweise, in dem man eine hilfsspalte einfügt mit der Formel: =wenn(links(A1;1)="*";2;1) und diese Spalte als erstes Sortierkriterium verwendet.
Danach kann man die
Hilfsspalte wieder löschen.

Gruß Daniel

Betrifft: AW: Sortieren, Sonerzeichen immer ans Ende
von: Oberschlumpf
Geschrieben am: 14.10.2020 09:30:28

Hi Chris,

in Anlehnung an Daniels Idee hier noch eine Bsp-Datei mit VBA-Makro:
https://www.herber.de/bbs/user/140881.xlsm

Hilfts?

Ciao
Thorsten

Betrifft: AW: Sortieren, Sonerzeichen immer ans Ende
von: Chris
Geschrieben am: 14.10.2020 12:26:57

Hallo Thorsten,

danke für das Makro, welche nicht läuft, da der Debugger mir einen Fehler in folgende Zeile anzeigt
(Objekt unterstützt Eigenschaft oder Methode nicht):

.Add2 Key:=Range("B1:B10"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

Was ist hier falsch?

Gruß

Chris

Betrifft: AW: Sortieren, Sonerzeichen immer ans Ende
von: Daniel
Geschrieben am: 14.10.2020 13:21:15

hi
probiers mal so:
das passt sich automatisch an die vorhandene Tabelle an.
außerdem bevorzuge ich die alte (Stand 2003) programmiermethode fürs sortieren.
ist funktionert immer noch und ist einfach übersichtlicher.
Sub sbSortStarLast()
With ActiveSheet.UsedRange
    With .Columns(.Columns.Count + 1)
        .FormulaR1C1 = "=if(left(RC1,1)=""*"",2,1)"
        .Formula = .Value
        .EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, _
                        key2:=.EntireRow.Cells(1, 1), order1:=xlAscending, _
                        Header:=xlGuess
        .ClearContents
    End With
End With
End Sub
Gruß Daniel

Betrifft: AW: Sortieren, Sonerzeichen immer ans Ende
von: Chris
Geschrieben am: 14.10.2020 15:01:33

Hallo Daniel,

danke, dein Makro funktioniert wunderbar.
Frage: Key1 sortiert die Zahlen 1 und 2 aufsteigend.
Key2 sortiert nochmals die ganze Reihe?

Gruß
Chris

Betrifft: AW: Sortieren, Sonerzeichen immer ans Ende
von: Daniel
Geschrieben am: 14.10.2020 15:23:16

Hi
Key1 sortiert nach der hinzugefügten Spalte, in welcher Nicht-Stern- und Stern-Werte mit 1 und 2 gekennzeichnet werden.
Key2 sortiert nach Spalte A, den kannst du aber auch weglassen, wenn nicht danach sortiert werden soll.
Gruß Daniel

Betrifft: AW: Sortieren, Sonerzeichen immer ans Ende
von: Chris
Geschrieben am: 14.10.2020 15:33:30

ok, prima. Danke Gruß Chris