Wie lässt sich ein Array per Excel VBA mehrstufig 2 Kriterien sortieren?

Diskutiere und helfe bei Wie lässt sich ein Array per Excel VBA mehrstufig 2 Kriterien sortieren? im Bereich Microsoft Office im Windows Info bei einer Lösung; Hallo,ich habe ein zweidimensionales Array 1000, 40 , welches nach der Spalte 38 Double Wert und Spalte 39 Double Wert aufsteigend sortiert werden... Dieses Thema im Forum "Microsoft Office" wurde erstellt von Sebastian Timmann, 8. Dezember 2022.

  1. Wie lässt sich ein Array per Excel VBA mehrstufig 2 Kriterien sortieren?


    Hallo,ich habe ein zweidimensionales Array 1000, 40 , welches nach der Spalte 38 Double Wert und Spalte 39 Double Wert aufsteigend sortiert werden soll. Eine einstufige Sortierung mache ich bereits mit dem Quicksort-Algorithmus. Mehrstufig ist das Problem.Wie sich eine Tabelle mehrstufig sortieren lässt, ist mir bekannt, jedoch nicht als Array. Kann diese Funktion [Sub Test] auch auf ein Array angewandt werden? Wenn ja, wie? Und falls nicht, gibt es andere Alternativen? Sub Test ' ActiveWorkbook.Worksheets"Test1".Sort.SortFields.Clear ActiveWorkbook.Worksheets"Test1".
     
  2. Andreas Killer Win User

    Wie lässt sich ein Array per Excel VBA mehrstufig (2 Kriterien) sortieren?

    Sebastian, was soll ich da sagen... o manomann vielleicht.
    Dein Quicksort sortiert wahrscheinlich immer das ganze 2D-Array, das ist dann das grundlegende Problem. Wenn er "von Zeile / bis Zeile" sortieren könnte, dann kannst Du Dir das Gedöns mit Zwischenarray sparen. 😉
    Aber wenn es so für dich okay ist, dann ist es auch gut. Hauptsache es funktioniert.
    Andreas.
  3. Claus B. Win User

    Wie lässt sich ein Array per Excel VBA mehrstufig (2 Kriterien) sortieren?

    Hallo Sebastian,
    wäre es nicht einfacher, das Array in ein Blatt zu schreiben, die Daten auf dem Blatt zu sortieren und die sortierten Daten in das Array zurückzuschreiben?
    Sub Sortieren()
    Application.DisplayAlerts = False
    ActiveWorkbook.Sheets.Add
    With ActiveSheet
    .Range("A1").Resize(UBound(vardata), UBound(vardata, 2)) = vardata
    .UsedRange.Sort key1:=.Range("AL1"), order1:=xlAscending, key2:=.Range("AM1"), order2:=xlAscending, Header:=xlNo
    vardata = .UsedRange
    .Delete
    End With
    Application.DisplayAlerts = True
    End Sub
    Claus
  4. Sebastian Timmann Win User

    Wie lässt sich ein Array per Excel VBA mehrstufig (2 Kriterien) sortieren?

    Hallo Andreas,
    mit der Sortierung der 2. Spalte würde ich die Sortierung der 1. Spalte leider überschreiben.
    Doch ich habe eine Lösung gefunden.
    1. Sortierung des Haupt-Arrays nach Spalte 1 mit Quicksort.
    2. Gleiche Werte aus Spalte 2 in ein Zwischen-Array speichern und mit Quicksort sortieren.
    3. Sortierter Zwischenspeicher in das Haupt-Array an der richtigen Position einfügen.
    4. Schritt 2 und 3 solange wiederholen, bis das Ende von Haupt-Array erreicht ist.
    Liebe Grüße
    Sebastian
  5. Andreas Killer Win User

    Wie lässt sich ein Array per Excel VBA mehrstufig (2 Kriterien) sortieren?

    ich habe ein zweidimensionales Array (1000, 40) , welches nach der Spalte 38 (Double Wert) und Spalte 39 (Double Wert) aufsteigend sortiert werden soll. Eine einstufige Sortierung mache ich bereits mit dem Quicksort-Algorithmus. Mehrstufig ist das Problem.
    Hallo Sebastian,
    Wenn Du in der 1ten Spalte sortiert hast, dann durchläufst Du diese, nimmst das erste Element als Start, gehst solange nach unten bis das nächste anders ist oder am Du am Ende der Daten bist. Dies ist dann das Ende.
    Nun sortierst Du mit Deinem Quicksort von Start bis Ende die Daten aber in der 2ten Spalte. Das ganze wiederholst Du bis Du am Ende der Daten angekommen bist.
    Alles klar?
    Andreas.
  6. Claus Busch Win User

    ListBox füllen mit vorsortierten Daten

    Hallo Berthold,

    du kannst nach dem wichtigsten Kriterium suchen lassen wie in dem Code und dann wenn Not rngC is nothing in einem IF-Statement die anderen Kriterien abfragen.

    Schneller geht es, wenn du die Daten in ein Array schreibst und dann dieses Array durchläufst und gleich nach den 3 Kriterien suchst. Wenn gefunden, dann schreibe in ein neues Array. Wenn die Suche durch ist, kannst du das ganze Array mit den gefundenen
    Werten an die Listbox übergeben mit

    Listbox1.List=myArray

    Claus
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Wie lässt sich ein Array per Excel VBA mehrstufig 2 Kriterien sortieren? - Microsoft Office

Die Seite wird geladen...

Wie lässt sich ein Array per Excel VBA mehrstufig 2 Kriterien sortieren? - Similar Threads - lässt Array Excel

Forum Datum

SVERWEIS mit 2 Kriterien

SVERWEIS mit 2 Kriterien: Hallo,die Formel: =SVERWEISF2&G2;WAHL{1.2};A:A&B:B;C:C;2;0Leider ergibt der Ausgabewert nur #NVJe nachdem was in den Feldern F2 und G2 steht, soll gleiche Paarung in den Spalten A und B gesucht...
Microsoft Office 5. Juli 2023

VBA Excel dynamischen Array definieren

VBA Excel dynamischen Array definieren: Guten Tag,ich habe derzeit Probleme ein zweidimensionales dynamisches Array zu redifinieren.Könnte mir bitte jemand einen funktionierenden Code zukommen lassen?Mit freundlichen GrüßenMSC
Microsoft Office 14. Dezember 2021

Excel Power Pivot Sortieren nach Spalte mit VBA

Excel Power Pivot Sortieren nach Spalte mit VBA: Ist es irgendwie möglich die Funktion Nach Spalte sortieren in Power Pivot in Excel über VBA zu erreichen? Die Funktionalität, die ich meine, ist in Tab -> Power Pivot -> Start und dann im Bereich...
Microsoft Office 12. Dezember 2021

Exclel VBA Sortieren

Exclel VBA Sortieren: Hallo kann einer helfen Ich braucht 3 Makros in Excel VBA eine 1. Sortierung für das jeweilige Aktive Sheet von Zeile 2= Überschriften Zeile 3 Daten von = A3 bis letzte Zeile...
Microsoft Office 11. September 2020

WIe kann ich in Excel per VBA den Vollbildmodus beenden?

WIe kann ich in Excel per VBA den Vollbildmodus beenden?: Hallo zusammen, wenn ich Excel versehentlich im Windows - Vollbildmodus starte, dann funktioneren in VBA die Dimensionierungen mittels: Application.Top = xx Application .Left = xxx...
Microsoft Office 28. Juli 2020

Index + Vergleich mit 2 Kriterien

Index + Vergleich mit 2 Kriterien: Hallo! Ich hoffe einer von euch kann mir helfen. Folgende Aufgabe: Ich hab eine Excel Datei mit verschiedenen Artikeln. Es gibt die Spalten: Bestellnummer Baujahr...
Microsoft Office 14. März 2019

Excel VBA Array Werte verschwinden

Excel VBA Array Werte verschwinden: Hallo, NG, ich habe hier ein ganz komisches Problem. Ich habe ein Array, das ich mit Werten in einer Schleife befülle: For cntZaehler = 1 To intZeilen If...
Microsoft Office 26. Januar 2017
Wie lässt sich ein Array per Excel VBA mehrstufig 2 Kriterien sortieren? solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.