VBA: Suche Wert und Position in zweidimensionalen Array - Druckversion +- Office-Fragen.de (https://office-fragen.de) +-- Forum: Microsoft Office (https://office-fragen.de/forum-1.html) +--- Forum: Excel (https://office-fragen.de/forum-2.html) +--- Thema: VBA: Suche Wert und Position in zweidimensionalen Array (/thread-730.html) |
VBA: Suche Wert und Position in zweidimensionalen Array - sacoma - 16.06.2019 Hallo Leute! Ich hätte da eine Frage üb er mehrdimensionale Arrays: Folgender Fall: In einer zweidimensionalen Array namens "arr_lager" steht in der 1. Dimension (oder 1. Spalte) die Lagerort bzw. die Lagernummern (die Lager sind nummeriert: 101, 102, 103 etc.); in der 2. Dimension (oder 2.Spalte) stehen die Bestände der jeweiligen Lager. Ich möchte nun herausfinden, in welchem Lager der höchste Bestand ist und danach der zweihöchste etc. Mit „WorksheetFunction.Large(arr_lager,1) konnte ich den höchsten (und zweithöchsten etc.) Bestand ermitteln, aber es sagt mir nicht, wo in der Array (also auf welcher Position) der höchste Bestand ist und somit kann ich nicht die Lagernummer ermitteln. Da wäre noch die Sache, dass ich zu jeder Lagernummer hinten ein "." setzen musste, damit es nicht von VBA als Zahl interpretiert wurde; sonst wären immer die Lagernummern der höchste Wert gewesen. Falls jemand auch dazu eine Lösung hat, würde ich auch das gerne wissen... Zurück zum Thema: Gibt es vielleicht andere WorksheetFunctions um diese Lagernummern schnell und ohne großen Aufwand (Schleifen etc.) zu ermitteln? Leider ist für mich Arrays und die WorksheetFunctions Neuland und ich kenne mich da nicht so gut aus. Ich freue mich auf jede Antwort. LG, sacoma RE: VBA: Suche Wert und Position in zweidimensionalen Array - Flotter Feger - 16.06.2019 Hallöchen, du brauchst eigentlich die Spalte mit den Beständen und die Spalte mit den Lagernummern getrennt. Ja ... auch das ist, jedes für sich, bereits ein 2-dimensionales Array ... Dann so ... Code: Sub Listen() PS: du könntest die Bestände aber auch einfach sortieren ... Solltest du nicht zurechtkommen, dann lade bitte eine anonymisierte Muster-Datei hoch, die aber alle notwendigen Daten zum Ausprobieren enthält. Und eine etwas bessere Erklärung, was du genau machen möchtest, wäre dann auch nicht schlecht. RE: VBA: Suche Wert und Position in zweidimensionalen Array - sacoma - 16.06.2019 Hallo Sabina! Danke für deine Antwort - deine Idee in einer Hilfstabelle die Daten zu sortieren, habe ich übernommen. Aber nur aus Neugier: es ist also nicht möglich mit VBA Daten innerhalb einer mehrdimensionalen Array so zu sortieren oder zu filtern etc. wie jetzt in einer Excel-Tabelle? LG, sacoma RE: VBA: Suche Wert und Position in zweidimensionalen Array - Flotter Feger - 16.06.2019 Hallöchen, na ... geht doch ... Warum kompliziert, wenn es auch einfach gehen kann ... Ein VBA-Array ... man muss da sehr deutlich unterscheiden ... läßt sich im Vergleich zu einem .Net-Array nicht so einfach sortieren oder gar mit einem Filter durchsuchen. VBA ist schon etwas älter und so richtige Updates hat es seit über 2 Jahrzehnten nicht mehr gekriegt. Gehen tut viel in VBA ... natürlich kann man einen Sortier-Algorithmus programmieren, der ein 2-dimensionales Array mit mehr als einer Column sortiert ... kannst gerne mal nach 'BubbleSort' oder 'QuickSort' googlen. Ist aber eben riesen Code ... und Excel kann das schon alles ... also warum nicht verwenden, was ich nicht neu ... und noch dazu doppelt ... machen muss. VG Sabina |