Clever-Excel-Forum

Normale Version: WorksheetFunction.Large-Methode mit zwei Arrays
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Unterstützer,

ich beschäftige mich mit folgendem Problem:

Ich habe zwei Arrays

arr1(0) = 50       arr2(0) ="Produkt 1"
arr1(1) = Leer    arr2(1) ="Produkt 2"
arr1(2) = 52       arr2(2) ="Produkt 3"
arr1(3) = 17       arr2(3) ="Produkt 4"
arr1(4) = Leer    arr2(4) ="Produkt 5"
arr1(5) = 19       arr2(5) ="Produkt 6"
arr1(6) = 21       arr2(6) ="Produkt 7"
arr1(7) = leer     arr2(7) ="Produkt 8"
arr1(8) = 18       arr2(8) ="Produkt 9"

der Wert arr1(0) entspricht dem Wert Cells(x,y)
der Wert arr2(0) entspricht dem Wert Cells(x-1,y)


Mit der WorksheetFunction.Large-Methode kann ich in einem arr3 das arr1 absteigend
neu erstellen, damit geht aber der Bezug zu arr2 verloren.

Gibt es eine Möglichkeit diesen Bezug aufrecht zu erhalten, oder nachräglich wieder
herzustellen.

Danke für Eure Unterstützung.
Dann wäre ein Array doch vernünftiger ?

Was sollte das Ziel sein ?
Warum nicht 2 Spalten ?
Das habe ich auch schon getan mit einer FOR-NEXT-Schleife, allerdings nach Erstellung
zweier Arrays.


arr3(u) = arr1(u) & " " & arr2(u)

Dann funktoniert aber die .Large-Methode nicht.


Code:
For v = 0 To 30
arr4(v) = Application.WorksheetFunction.Large(arr3(), v)
Next v

Der o.a. Code führt zu einem Laufzeitfehler. (1004)

Wenn ich Dich richtige verstehe, erstellst Du arr1 und arr2 nicht sondern erstellst ein Array aus den entsprechenden Werten.
Hat dies Einfluss auf die .Large-Methode?

Das Ziel sollte sein, die Werte aus dem mit der .Large-Methode absteigend sortierten Array in in Tabellenblatt
zu schreiben. Zum Beispiel eine Top 5 -Liste zu erstellen.
Lade mal bitte eine Beispieldatei hoch.
Als Anlage die Beispiel-Datei.
Ich hatte zu dieser Datei bereits eine Anfrage gestellt.
Diese hat mitllerweile den Status erledigt. Mir wurde geraten, eine
Pivot-Tabelle zu erstellen.
Mich treibt aber die Lösung in VBA um.