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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | Sub ReFillTable1()
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 )
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
|