Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
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
In 2D-Array suchen
07.05.2021 16:49:39
W
Hallo Forum,
ich erhalte aus einer Funktion heraus eine 2-D-Array. im Element(0.x) stehen verschiedene Begriffe. In den Elementen(y,x) stehen die zugehörigen Werte.
Beispiel:
Arr(0,0) = "Alfa"
Arr(0,1) = "Beta"
Arr(0,2) = "Gamma"
Arr(1,0) = 7
Arr(1,2) = 11
Arr(2,7) = 47
Arr(3,2) = 0
Sowohl Stufe 1 als auch Stufe 2 sind variabel; Stufe 2 hat aktuell 57 Elemente. Das kann sich aber jederzeit ändern..
Wie kann ich ohne Loop die aktuelle Position für "Beta" (also: 1) finden, um dann die vorhandenen Werte in Arr(x,Position) auslesen zu können.
ich hoffe, ich habe das verständlich beschrieben.
Gruß Werner

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In 2D-Array suchen
07.05.2021 17:03:46
Daniel
Hi
Bei Arrays kann man eigentlich problemlos mit Schleifen arbeiten, die sind sehr schnell.
Die die einzige Suchfunktion in VBA für Arrays ist Application.Match (entspricht Vergleich).
Die sucht in eindimensionalen Arrays und in zweidimensionalen, wenn diese in einer Dimension nur einen Index haben (einteilig oder einspaltig).
Wenn du weist, in welcher Spalte oder Zeile du suchen willst, kannst du diese mit Worksheetfunction.Index herauslösen
Worksheetfunction.Index(Art, 1, 0) gibt dir die erste Zeile des Arrays zurück.
Wobei hier die 0 für "alle Spalten" steht und die 1 für "erste Zeile, unabhängig von der Indizierung des Arrays.
Das kannst du dann mit Match durchsuchen und dir auch wieder die Positionsnummer der Fundstelle zurück geben lassen.
Gruß Daniel
Anzeige
AW: In 2D-Array suchen
07.05.2021 17:08:38
W
Hallo Daniel,
vielen Dank für Deine Antwort. Mein Problem: ich habe (noch) nicht das Wissen, Deine Worte in VBA-Code umzusetzen.
Wie also könnte ich die Position von "Beta" finden?
Gruß Werner
AW: In 2D-Array suchen
07.05.2021 17:26:10
Daniel
Hi
wenn du weißt, dass du in der ersten Zeile suchen musst:

Application.Match("Beta", Application.Index(arr, 1, 0), 0)
Gruß Daniel
AW: In 2D-Array suchen
07.05.2021 17:36:18
W
Hallo Daniel,
Danke. Passt und funktioniert.
Schönes Wochenende.
Gruß Werner

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige