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

sverweis (Suche) im array

sverweis (Suche) im array
24.04.2018 07:25:59
Lutz
Hallo,
in einer Tabelle kann ich ja mit sverweis etwas suchen und mir dann den dazugehörigen Wert ausgegen lassen:
sverweis("Suchkriterium", "Suchbereich", "Spalte", 0)
Wenn ich jetzt zuvor die Tabellen
a) wo das Suchkriterium steht und
b) wo der Suchbereich ist jeweils in ein array einlese, dann funktioniert die Funktion ja nicht mehr.
Mein Code würde so aussehen (geht aber nicht):
For i = 1 to 20 step 1
For y = 1 to 10 step 1
ARRAY01(i, 2) = VLOOKUP((ARRAY02(y, 3), 4, 0))
Wie geht es richtig?
Danke und Gruß

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

Betreff
Datum
Anwender
Anzeige
AW: sverweis (Suche) im array
24.04.2018 08:38:15
Daniel
Hi
Was soll denn der Suchwert sein und was der Suchbereich?
Der Suchbereich fehlt bei dir.
Die Innere Schleife (y) ist Unsinn, da jeder wert in den gleichen Index von ARRAY01 geschrieben wird.
Gruß Daniel
AW: sverweis (Suche) im array
24.04.2018 08:49:06
Lutz
Stimmt, die zweite Schleif ist unsinn:
For i = 1 to 20 step 1
ARRAY01(i, 2) = VLOOKUP((ARRAY02(4, 0))
Der Suchwert befindet sich im ARRAY01 in Spalte 2.
Der Suchbereich ist ARRAY02.
In der ersten Spalte vom ARRAY02 soll gesucht werden
und dann der Wert der 4. Spalte von ARRAY02 verwendet werden.
Gruß Lutz
AW: sverweis (Suche) im array
24.04.2018 09:16:02
Daniel
Hi
wenn du dir den Suchbegriff im Array überschreiben willst, dann so:
ARRAY01(i, 2) = Application.VLookUp(ARRAY01(i, 2), ARRAY02, 4, 0)
du kannst "Application.VLookUp" oder "Worksheetfunction.VLookUp" verwenden.
der Unterschied zwischen beiden Varianten liegt im Verhalten für den Fall, dass der Suchbegriff nicht gefunden werden kann.
bei Worksheetfunction.VLookUp bekommst du dann auf jeden Fall einen Fehlerabbruch im Code.
bei Application.VLookUp gibt dir die Funktion einen Fehlerwert zurück, dh der Code kann normal weiterlaufen, wenn er so geschrieben ist, das Fehlerwerte verarbeitet werden können (da muss man ein paar dinge beachten, z.B. muss die Aufnehmende Variable vom Typ "Variant" sein).
Alternativ kannst du hier auch ohne VLookUp mit einer inneren Schleife arbeiten:
For i = 1 to Ubound(ARRAY01, 1)
For j = 1 to Ubound(ARRAY02, 1)
if ARRAY01(i, 2) = ARRAY02(j, 1) Then
ARRAY01(i, 2) = ARRAY02(j, 4)
Exit For
end if
Next
Next

hier bleibt dann der Suchbegriff ARRAY01(i, 2) unverändert, falls er nicht in ARRAY02 vorhanden ist
Gruß Daniel
Anzeige
AW: sverweis (Suche) im array
24.04.2018 09:22:24
Lutz
Danke.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge