Hallo,
ups, sorry. Das ist einfach doof mit On Error Resume Next. Wenn du daran festhalten möchtest, dann kannst du so arbeiten:
Sub ScannzahlenGutware()
Dim z As Long
Dim lz As Long
Dim s As Integer
lz = Cells(Rows.Count, 2).End(xlUp).Row
If Cells(Rows.Count, 2) <> "" Then lz = Rows.Count
On Error Resume Next
For z = 7 To lz
For s = 4 To 4 ' die Schleife macht nicht so wirklich Sinn!
Cells(z, 32).Value = WorksheetFunction.VLookup(Cells(z, 2).Value, Range("GUT!A:H"), s, False)
If Err.Number > 0 Then
Cells(z, 32).Value = 0
Err.Clear
End If
Next s
Next z
End Sub
Oder alternativ kommt mir noch das in den Sinn:
Sub Alternative()
Dim z As Long
Dim lz As Long
Dim s As Integer
lz = Cells(Rows.Count, 2).End(xlUp).Row
If Cells(Rows.Count, 2) <> "" Then lz = Rows.Count
s = 4
For z = 7 To lz
' Excelformel: =WENNFEHLER(SVERWEIS(...); 0)
Cells(z, 32).Value = Evaluate("IFERROR(VLOOKUP(" & Cells(z, 2).Value & ",GUT!A:H," & s & ",FALSE),0)")
Next z
End Sub
Grüße, Ulrich
|