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

Begriff in 2-dimensionalem Array suchen

Begriff in 2-dimensionalem Array suchen
06.01.2019 07:24:00
Excel2017
Hallo Forum,
ich habe ein 2-dimensionales Array. In der 1. Dimension befindet sich die Artikel-Nummer, in der 2. die Artikel-Gruppe.
Dim MyArray(256,256)
Wie kann ich jetzt in der 1. Dimension nach eine Artikelnummer suchen, um dann über die 2. Dimension die Artikel-Gruppe zu erhalten?
Bisher habe ich das Problem über eine Loop durch alle Einträge gelöstt.
Gruß
Werner

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Begriff in 2-dimensionalem Array suchen
06.01.2019 08:03:52
Nepumuk
Hallo Werner,
was spricht gegen eine Schleife? Selbst wenn dein Array 100mal so groß wäre ist das eine Sache von Millisekunden.
Gruß
Nepumuk
AW: Begriff in 2-dimensionalem Array suchen
06.01.2019 08:32:45
Sepp
Hallo Werner,
wie Nepumuk schon schrieb, spricht nichts gegen eine Schleife.
Du könntest aber auch VLookUp verwenden.
Als Beispiel:
Sub hh()
  Dim varA(5, 5)
  Dim varRet As Variant

  varA(0, 0) = 123: varA(0, 1) = "ABC"
  varA(1, 0) = 234: varA(1, 1) = "DEF"
  varA(2, 0) = 345: varA(2, 1) = "GHI"
  varA(3, 0) = 456: varA(3, 1) = "JKL"
  varA(4, 0) = 567: varA(4, 1) = "MNO"
  varA(5, 0) = 678: varA(5, 1) = "PQE"

  varRet = Application.VLookup(345, varA, 2, 0)

  MsgBox varRet
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Begriff in 2-dimensionalem Array suchen
06.01.2019 08:55:16
Excel2017
Hallo Sepp,
Danke für Dein Beispiel. Da ich nur Grundkenntnisse in VBA habe, verstehe ich den Syntax von VLookup nicht, obwohl ich versucht habe, mich über Google schlau zu machen.
varRet = Application.VLookup(345, varA, 2, 0)
Die ersten beiden Begriffe kann ich noch zuordnen. Doch was bewirkt die 2 bzw. die 0 an 3. und 4. Position?
Gruß
Werner
AW: Begriff in 2-dimensionalem Array suchen
06.01.2019 09:00:36
Hajo_Zi
Hallo Werner,
Hilfe zu Sverweis.
2 2 Spalte wiedergeben
0 indentischen Wert suchen.

AW: Begriff in 2-dimensionalem Array suchen
06.01.2019 09:13:43
Excel2017
Hallo Hajo,
auch Dir danke ich für Deine Antwort.
Mein Problem ist damit erledigt.
Gruß
Werner
Anzeige
AW: Begriff in 2-dimensionalem Array suchen
06.01.2019 09:05:57
Sepp
Hallo Werner,
der erste Parameter ist der Suchbegriff, der zweite das zu durchsuchende Datenfeld, im dritten wird die Spalte angegeben aus welcher der Wert zurückgegeben wird und der vierte ist die Art der Übereinstimmung. Schau dir in Excel die Funktion SVERWEIS() an.
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Begriff in 2-dimensionalem Array suchen
06.01.2019 16:24:00
Daniel
Hi
ich glaube, du hast das mit den 2-Dimensionalen Arrays noch noch nicht so ganz verstanden.
mit Dim MyArray(256,256) bekommst du ein Array, dass 257 Zeilen und 257 Spalten hat.
du brauchst hier aber nur 2 spalten, dh es reicht Dim MyArray(256, 1)
beachte weiterhin:
wenn du beim Dimensionieren eines Arrays nur den Endwert angibst, so ist Startindex im Standardfall die 0.
Deswegen enthält das Array in der jeweiligen Dimension immer ein Element mehr als angegeben.
Wenn du willst, dass der Startindex 1 ist (so wie du es von Zeilen und Spalten gewoht bist), musst du das bei der Dimensionierung extra angeben:
Dim MyArray(1 to 256,1 to 2)
Gruß Daniel
Anzeige
AW: Begriff in 2-dimensionalem Array suchen
06.01.2019 16:35:59
Excel2017
Hallo Daniel,
vielen Dank für die Aufklärung, mir war bekannt, dass ein Array "normalerweise" bei 0 beginnt und habe das auch so umgesetzt. Mit "1 to 256" hatte ich gleich einen Abbruch, weil ich "Digits(RndVal, 0)" verwende. Aber mit "0 to 256, 0 to 1" läuft alles wieder wie bisher.
Gruß
Werner
AW: Begriff in 2-dimensionalem Array suchen
06.01.2019 17:23:44
Daniel
Hatte ich doch geschrieben:
"Wenn du willst, dass der Startindex 1 ist,..."
Und wenn du das nicht willst, eben nicht.
Ist doch ist irgendwie logisch, oder?
Gruß Daniel

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige