Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

WorksheetFunction.Large-Methode mit zwei Arrays
#1
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.
Antworten Top
#2
Dann wäre ein Array doch vernünftiger ?

Was sollte das Ziel sein ?
Warum nicht 2 Spalten ?
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • tmessers
Antworten Top
#3
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.
Antworten Top
#4
Lade mal bitte eine Beispieldatei hoch.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#5
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.


Angehängte Dateien
.xlsm   19-03-17 Beispiel.xlsm (Größe: 35,64 KB / Downloads: 4)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste