Hallo Helge,
mit Suchen statt SVerweis kommt man hier schneller zum Ziel.
Wenn du den Check immer manuell start willst, dann lässt du den Teil unter dem Tabellenblatt-Modul weg.
Gruß
Franz
'Prozedur unter dem Tabellenblatt-Modul
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Row = Cells(Rows.Count, 2).End(xlUp).Row Then
Call CheckProduktNr
End If
End Sub
'Prozedur in einem allgemeinen Modul
Sub CheckProduktNr()
' CheckProduktNr
Dim ProduktNr, Zeile, ZellePNr As Range, wks As Worksheet
Set wks = ActiveSheet
With wks
'Spalte 2 (B) Prüfen
Zeile = .Cells(.Rows.Count, 2).End(xlUp).Row
If Zeile > 2 Then
ProduktNr = .Cells(.Rows.Count, 2).End(xlUp).Value
Set ZellePNr = .Range(.Cells(1, 2), .Cells(Zeile - 1, 2)).Find(What:=ProduktNr, _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If ZellePNr Is Nothing Then
'do nothing
Else
'Spalte 7(G) bis 19(S) in letzte Zeile kopieren
.Range(.Cells(ZellePNr.Row, 7), .Cells(ZellePNr.Row, 19)).Copy _
Destination:=.Cells(Zeile, 7)
End If
End If
End With
End Sub