VLOOKUP über VBA
01.03.2019 13:00:48
Martin
ich möchte per VBA eine Zelle per SVERWEIS befüllen.
dim varSverweis as Variant
'die per Sverweis zu befüllende Zelle auswählen
Worksheets(strZielTabellenname).Range(Cells(2, lngZielSpaltennummerMitSuchkriterium + 1), Cells(2, lngZielSpaltennummerMitSuchkriterium + 1)).Select
Folgender weiterer Code funktioniert wunderbar:
With ActiveCell
varSverweis = Application.WorksheetFunction.VLookup(.Offset(, -1).Value, Worksheets(strQuelltabelleAusDerUebersetztWird).Range("E:G"), 3, False)
End With
Will ich die Range ("E:G") und den Spaltenindex 3 nun durch Variablen ersetzen kriege ich Fehler 1004.
Hier der nicht funktionierende Code mit Variablen:
varSverweis = Application.WorksheetFunction.VLookup(.Offset(, -1).Value, Worksheets(strQuelltabelleAusDerUebersetztWird).Range(Columns(lngQuellsuchspalte), Columns(lngQuellergebnisspalte)), lngSpaltenindexSverweis, False)
wobei hier...
lngQuellsuchspalte=5
lngQuellergebnisspalte=7
lngSpaltenindexSverweis=3
...ist
Danach führe ich den SVerweis dann so aus. Bei Variante 1 funktioniert dies auch problemlos. Bei Variante 2 komme ich erst garnicht soweit aufgrund des 1004er Fehlers:
ActiveCell.FormulaR1C1 = varSverweis
Hoffe mir kann jemand weiterhelfen... Sitze hier jetzt schon 2 3 Stunden dran und komme nicht dahinter was das Problem ist. Vielleicht gibt es ja andere Vorschläge wie ich Range ("E:G") und den Spaltenindex 3 hier über Variablen abgebildet bekomme.
Vielen Dank im Voraus!
GRuß Martin