Hallo Zusammen,
ich habe ein kleines Problem, das ich nicht so recht verstehe.
Kurz: Ich mache im VBA in einer For-Schleife SVERWEISE (WorksheetFunction.VLookup). Davor schreibe ich "on error resume next" da nicht alle Suchkriterien auch immer gefunden werden können. Das darf auch so sein, sodass ich keine weitere Fehlerbehandlung durchführen will/muss.
Nun bekomme ich aber trotzdem den Fehler:
"Laufzeitfehler `1004`:
Die VLookup-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden werden".
Wie kann das sein?
Weiter oben im Code habe ich bereits einmal ein "on error goto weiter"
(Leider gibt es den Button zum einfügen des Codes nicht...also)
#########################################################################
Code Teil 1
on error goto weiter
Code Teil 2
weiter:
Code mit Fehler:
With ActiveWorkbook.Worksheets("Marketingtexte")
letzteMT = .Cells(.Rows.Count, 4).End(xlUp).Row
on error resume next
For w = 3 To letzteMT
If .Range("C" & w) <> "" Then
If .Range("D" & w) = "DE" Then
.Range("I" & w).Value = WorksheetFunction.VLookup(.Range("C" & w), ActiveWorkbook.Worksheets("Sheet1").Range ("N:AB"), 15, False)
.Range("F" & w).Value = WorksheetFunction.VLookup(.Range("C" & w), ActiveWorkbook.Worksheets("Sheet1").Range("B:C"), 2, False)
.Range("H" & w).Value = WorksheetFunction.VLookup(.Range("C" & w), ActiveWorkbook.Worksheets("Sheet1").Range("B:E"), 4, False)
.Range("J" & w).Value = WorksheetFunction.VLookup(.Range("C" & w), ActiveWorkbook.Worksheets("Sheet1").Range("B:G"), 6, False)
.Range("K" & w).Value = WorksheetFunction.VLookup(.Range("C" & w), ActiveWorkbook.Worksheets("Sheet1").Range("B:I"), 8, False)
Else
.Range("I" & w).Value = WorksheetFunction.VLookup(.Range("C" & w), ActiveWorkbook.Worksheets("Sheet1").Range("N:AC"), 16, False)
.Range("F" & w).Value = WorksheetFunction.VLookup(.Range("C" & w), ActiveWorkbook.Worksheets("Sheet1").Range("B:D"), 3, False)
.Range("H" & w).Value = WorksheetFunction.VLookup(.Range("C" & w), ActiveWorkbook.Worksheets("Sheet1").Range("B:F"), 5, False)
.Range("J" & w).Value = WorksheetFunction.VLookup(.Range("C" & w), ActiveWorkbook.Worksheets("Sheet1").Range("B:H"), 7, False)
.Range("K" & w).Value = WorksheetFunction.VLookup(.Range("C" & w), ActiveWorkbook.Worksheets("Sheet1").Range("B:J"), 9, False)
End If
End If
Next w
on error goto 0
End With
#########################################################################
Sorry für den Code in dieser Form.
Vielen Dank im voraus.
MfG
Enrico
|