Mehrere Vlookups mit VBA in einem Sub

Ich versuche, mehrere Spalten in einem Blatt mit vlookups von einem anderen Blatt mit dem Namen "Go Live Data" in derselben Arbeitsmappe bis zum Ende des Bereichs zu füllen.

Ausgehend von dem Wert, der in A6 in meinem Blatt beginnt, möchte ich daher im Bereich "Go Live Data" für Bereiche, die in U6 beginnen, bis zum Ende der in der Registerkarte aufgefüllten data nach Bereich A: K suchen (dies ändert sich dynamisch) ). Ich möchte dies für Zellen wiederholen, die mit V6 und W6 beginnen.

Dies ist der Code, den ich jetzt habe, aber er füllt nicht.

Sub VlookupGoLiveandBOP() Dim Rng As Range, Dn As Range Set Rng = Range(Range("A6"), Range("A" & Rows.Count).End(xlUp)) With Range("U6") .Formula = "=IF(ISNA(VLOOKUP(A6,Go Live Data!$A:$K,2,FALSE)),"""",VLOOKUP(A6,Go Live Data!$A:$K,2,FALSE))" .AutoFill Destination:=Rng.Offset(, 66) With Range("v6") .Formula = "=IF(ISNA(VLOOKUP(A6,Go Live Data!$A:$K,3,FALSE)),"""",VLOOKUP(A6,Go Live Data!$A:$K,3,FALSE))" .AutoFill Destination:=Rng.Offset(, 66) With Range("w6") .Formula = "=IF(ISNA(VLOOKUP(A6,Go Live Data!$A:$K,4,FALSE)),"""",VLOOKUP(A6,Go Live Data!$A:$K,4,FALSE))" .AutoFill Destination:=Rng.Offset(, 66) End With Rng.Offset(, 66).Value = Rng.Offset(, 66).Value End Sub 

Bin ich auf der falschen Spur? Danke für Ihre Hilfe.

Solutions Collecting From Web of "Mehrere Vlookups mit VBA in einem Sub"

Probieren Sie den folgenden Code aus, damit Sie den VLookup Bereich korrekt zuweisen können.

Bei Verwendung von LKUpRng.Address(True, True, xlA1, xlExternal) fügt der 4. Parameter xlExternal bei Bedarf den Namen des Arbeitsblatts (und ggf. der Arbeitsmappe) hinzu. erforderlich.

Code

 Option Explicit Sub VlookupGoLiveandBOP() Dim Rng As Range, Dn As Range Dim LKUpRng As Range Dim LkUpStr As String Set LKUpRng = Sheets("Go Live Data").Range("A:K") LkUpStr = LKUpRng.Address(True, True, xlA1, xlExternal) '<-- get the Range as a String, including the sheet's name Set Rng = Range(Range("A6"), Range("A" & Rows.Count).End(xlUp)) Range("U6").Formula = "=IF(ISNA(VLOOKUP(A6," & LkUpStr & ",2,FALSE)),"""",VLOOKUP(A6," & LkUpStr & ",2,FALSE))" End Sub