'Option Explicit 'muss in der obersten Zeile im (Klassen-)Modul stehen
Sub Makro1()
Dim a As Long
Dim b As Long
Dim c As Long
Dim d As Variant
Dim strPA As String
a = -1
b = 4
c = 2
d = Tab1
strPA = "=VLOOKUP(C[-1]," & d & "!RC[" & a & "]:R[" & b & "]C," & c & ",0)" '
MsgBox strPA
Range("B1") = strPA
End Sub
Den Quellcode kennst du ja, der macht nicht was er soll. Ganz oben gibt es eine auskommentierte Zeile, nimm die mal rein.
Wenn du das Makro dann starten willst, bringt er dir eine Fehlermeldung - Variable nicht definiert. Er denkt also Tab1 ist eine Variable...
Du meinst aber "Tab1", also eine Zeichenkette.
Dann ergibt das: =SVERWEIS(A:A;'Tab1'!A1:B5;2;0) genau das was du willst.
Fazit: Du solltest in deinem Quellcode 'Option Explicit' immer in der obersten Zeile reinnehmen, dann passiert sowas banales nicht (wenn doch, merkt man es schnell). Dies kann man übrigens in den Einstellungen dauerhaft einschalten - "Variablendeklaration erforderlich".
|