Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1508to1512
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

Sortieren zweier abhängigen Arrays

Sortieren zweier abhängigen Arrays
16.08.2016 20:34:37
Peter
Hallo Gemeinde :)
ich habe folgendes Problem
Ich habe zwei variablen Haus(i) und Kosten(i)
diese werden durch Eingabeaufforderung eingelesen.
Jetzt möchte ich diese abhängig voneinander sortieren.
Nach dem Namen des Haus mit zugehörigen Kosten.
folgenden Code nehme ich:
For j = UBound(ArrayToSort) - 1 To LBound(ArrayToSort) Step -1
' Alle links davon liegenden Zeichen auf richtige Sortierung
' der jeweiligen Nachfolger überprüfen:
For i = LBound(ArrayToSort) To j
' Ist das aktuelle Element seinem Nachfolger gegenüber korrekt sortiert?
If ArrayToSort(i) > ArrayToSort(i + 1) Then
' Element und seinen Nachfolger vertauschen.
vTemp = ArrayToSort(i)
ArrayToSort(i) = ArrayToSort(i + 1)
ArrayToSort(i + 1) = vTemp
End If
Next i
Next j
Wie muss ich arraytosort definieren damit die Daten zusammenbleiben?
Gruß und Danke :)

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren zweier abhängigen Arrays
17.08.2016 08:41:47
ChrisL
Hi Peter
Die Sortierfunktion umzuschreiben wäre mir zu mühsam. Ich denke du solltest ein "mehrdimensionales" Datenfeld verwenden (d.h. beide Spalten sind im gleichen Array).
Ansonsten... Eine Funktion kann zwar mehrere Variablen als Eingabe verwenden, m.W. aber nur eine Variable zurück geben. Somit müsstest du die Funktion in die Prozedur integrieren und folgende Zeilen anpassen resp. verdoppeln.
vTemp = ArrayToSort(i)
ArrayToSort(i) = ArrayToSort(i + 1)
ArrayToSort(i + 1) = vTemp
vTemp2 = ArrayToSort2(i)
ArrayToSort2(i) = ArrayToSort2(i + 1)
ArrayToSort2(i + 1) = vTemp2
Einfachste Variante wäre die Daten gleich in einer (Hilfs-)Tabelle zu sortieren. Ich denke mit bescheidenem VBA-Level kommst du so am ehesten zur Lösung.
cu
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige