Hallo,
der Code macht nichts weiteres als in Spalte 46 der Tabelle 1 das Ergebnis des SVerweises einzutragen.
Dieser Code wurde dahingehend angepasst, dass die Ergebnisse in Spalte J der Tabelle 1 eingetragen werden.
Zusätzlich wird in Spate K die Funktion "SVerweis" eingetragen, falls diese Variante sinnvoller sein sollte:
Sub ReFillTable1()
'SVerweis für Spalte AT
Dim z As Long
Dim lz As Long
lz = Range("I65536").End(xlUp).Row
If Range("I65536") <> "" Then lz = 65536
On Error Resume Next
For z = 1 To lz
Cells(z, 10).value = WorksheetFunction.VLookup(nz(Cells(z, 9).value, ""), Range("Matrix"), 46, False)
' Kontroll-Function in Spalte AS
Cells(z, 10).Offset(columnOffset:=1).Formula = "=VLookup(" & Cells(z, 9).Address & ", Matrix, 46, False)"
If Err.Number > 0 Then
Err.Clear
Cells(z, 10) = "#NV!"
End If
Next z
End Sub
Function nz(value As Variant, NullValue As Variant) As Variant
If IsNull(value) Then
nz = NullValue
Else
nz = value
End If
End Function
Die Funktion nz fängt Leere Suchbegriffe ab, indem diese durch ein Leerstring ersetzt werden.
Der angepasste Code kann auch als Muster-Arbeitsmappe heruntergeladen werden.
LG, BigBen
|