Hallo Thomas,
ja da hast du voellig recht. Ist mir voellig untergegangen. Klar kannst du keine ganze Range auf einen Wert abfragen. Du musst eine Schleife ueber alle Zellen erstellen.
Und wenn ich deinen Code richtig interpretiere, willst du ein VLookup durchfuehren und dann das VLookup erneut durchfuehren mit anderen Werten, wenn "#NV" (also , ein Fehler) in der Zelle steht. Dann musst du die Schleife 2 mal durchlaufen lassen. Nicht nach "#NV" suchen, sondern nach einem Fehlerwert.
In der Art:
Dim Zelle As Range, Bereich As Range
Set Bereich = Range(Cells(2, 6), Cells(letzteZeileSchleife, 6))
For Each Zelle In Bereich
Zelle = Application.VLookup(Range(Cells(2, 7), Cells(letzteZeileSchleife, 7)), Sheets("Datenblatt").[A2:I60000], 2, False)
Next Zelle
For Each Zelle In Bereich
If Zelle = CVErr(xlErrNA) Then
Zelle = Application.VLookup(Range(Cells(2, 5), Cells(letzteZeileSchleife, 5)), Sheets("Datenblatt").[A2:I60000], 2, False)
End If
Next Zelle
Probier mal.
Gruss Torsten
|