Anzeige
Archiv - Navigation
1744to1748
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
Inhaltsverzeichnis

VBA sortieren mit Left(... verbinden

VBA sortieren mit Left(... verbinden
23.03.2020 15:42:41
Martin
ich möchte mit VBA eine Tabelle nach drei verschiedenen Ebenen bzw. Spalten sortieren, wobei z.B. alle Zellen, die mit "Zugang" beginnen, gleich behandelt werden sollen, egal was da noch hintersteht. Die gewünschte Sortierreihefolge der zu sortierenden Begriffe ist aber nicht alphabetisch. Ich brauche also einen Code, mit dem ich entweder den zu suchenden Begriff anhand der ersten 6 Stellen definieren kann oder Wildcards ("Zugang*) verwenden kann.
Kann mir da jemand helfen?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA sortieren mit Left(... verbinden
26.03.2020 09:41:45
Matthias
Moin!
Da du keine einfache Sortierung hast, bräuchte man wohl eine Beispielmappe um zu sehen, wie die Rohdaten aussehen und wie das Ergebnis dann werden soll. Ohne genaue KEnntnis deiner Sortierreihenfolge lässt sich da nix programmieren. Sollen bspw. erst Zahlen und dann Text kommen und dann alles mit Zugang oder erst Zugang usw.?
VG
AW: VBA sortieren mit Left(... verbinden
29.03.2020 08:49:22
Hajo_Zi
dem kann man nur zustimmen.

AW: VBA sortieren mit Left(... verbinden
30.03.2020 14:01:36
Martin
Ich verwend eim Moment folgenden VBA-Code
    Dim arrS, lngNr
arrS = Array("Zugang", "Zugang (Ersatzkarte)", "Zugang w/Namensänderung", _
"Zugang w/Änderung Geltungsbereich", _
"Abgang", "Abgang w/Verlust", "Abgang w/Namensänderung", _
"Abgang w/Änderung Geltungsbereich", _
"Fahrpreisänderung (w/Azubi-Konditionen)", _
"Karte vernichtet")
Application.AddCustomList ListArray:=arrS
lngNr = Application.GetCustomListNum(arrS)
Range("Gesamt3").Sort Key1:=Range("E7"), Order1:=xlAscending, Key2:=Range("C7") _
, Order2:=xlAscending, Key3:=Range("J7"), Order3:=xlAscending, _
Header:=xlGuess, OrderCustom:=lngNr + 1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Application.DeleteCustomList ListNum:=lngNr
Für diesen Anwendunsgzweck reicht das auch, da das Array die 3. und letzte Sortierung steuert. In einem Anwendunsgfall möchte ich aber zuerst nach Zugang* und Abgang* sortieren - dabei soll es für die Sortierreihenfolge aber keine Rolle spielen, um welche Variante eines Zugangs oder Abgangs es sich jeweils handelt. Soweit ich weiss, kann ich in einem array aber keine Wildcards verwenden-
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige