Es sieht so aus, als hätten Sie den Macro Recorder verwendet, um diesen Code zu erhalten. Der Code, den Sie eingeben, geschieht, wenn Sie das Blatt "MoM" auswählen, gefolgt von der Zelle H2, gefolgt von der Eingabe der Funktion =VLOOKUP()
in Excel. Von dort aus, glaube ich, hast du versucht, die SVERWEIS-Formel nach rechts zu ziehen und die Werte zu erhalten. Der Grund, warum Ihr Code nicht funktioniert, liegt daran, dass SVERWEIS versucht, relative Referenzen auf Ihr Tabellen-Array zu erhalten. Sie möchten jedoch absolute Referenzen, damit Ihr Code funktioniert. Der einzige Wert, der sich in der "MoM" -Schicht von Zelle zu Zelle ändern sollte, ist der Spaltenverweis in der SVERWEIS-Funktion. Eine Lösung ist die folgende Schleife verwenden, um Ihren Spaltenindex auf der VLOOKUP Funktion zu ändern:
Sub mcrFillRow()
' Declare your variables
Dim i As Integer
Dim name As String
Dim myTable As Range
' Set some variables to make VLookup code easier to read
name = Range("G2")
Set myTable = Worksheets("Table Array").Range("F1:K7")
' Clear any previous values
Sheets("MoM").Range("H2:L2").Clear
' For loop to go through the columns of the Table Array
For i = 2 To 6
Select Case i
Case 2 'VLookup the second column
Sheets("MoM").Range("H2") = WorksheetFunction.VLookup(name, myTable, i, False)
Case 3 'VLookup the third column
Sheets("MoM").Range("I2") = WorksheetFunction.VLookup(name, myTable, i, False)
Case 4 'VLookup the fourth column
Sheets("MoM").Range("J2") = WorksheetFunction.VLookup(name, myTable, i, False)
Case 5 'VLookup the fifth column
Sheets("MoM").Range("K2") = WorksheetFunction.VLookup(name, myTable, i, False)
Case 6 'VLookup the sixth column
Sheets("MoM").Range("L2") = WorksheetFunction.VLookup(name, myTable, i, False)
End Select
Next i
End Sub
Für die Table Array
und MoM
Blätter, benutzen ich die oben in Excel festgelegt folgenden:

Sind Bist du sicher, dass deine Formel stimmt? Soll das sein = SVERWEIS ('R'C [-7], 'Tabellenarray'! C [-7]: C [2], 8, FALSCH)? – Jochen
Dieser Code wird col bis zur letzten Zeile in Spalte G automatisch füllen. Sagst du, dass es das nicht tut, oder hast du erwartet, dass es etwas anderes tut? –