AW: Sverweis in VBA
17.10.2017 13:42:20
Daniel
Hi
wenn du Zellen über Variablen ansprechen willst, ist die []-Schreibweise für Zellbezüge ungeeignet.
hier musst du dann, wie schon von ChrisL gezeigt, mit Cells() oder Range() arbeiten
Weiterhin ist es ungünstig, den VLookUp in VBA per Schleife anzuwenden.
Wenn du das mit einem größeren Zellblock machen willst, ist es oft besser die Formel zu verwenden und dann die Formel durch ihren Wert zu ersetzen.
dh statt:
for i = a to z
Cells(i, 2) = Worksheetfunction.VLookUp(Cells(i, 1), Sheets("Tabelle2").[A1:B4], 2, False)
next
Schreibst du das hier:
With Range(Cells(a, 2), cells(z, 2))
.FormulaR1C1 = "=VLookUp(RC1,Tabelle2!R1C1:R4C2,2,false)"
.Formula = .Value
End with
das ist nicht nur schneller, sondern auch einfacher zu Handeln beim Testen im Einzelstepmodus
Gruß Daniel