Also als excelformel will ich genau das in VBA programmieren:
mit dem Vergleichen bekomme ich das auch nicht hin, da so nur die letzte zeile beachtet wird.
Bsp.
Spalte B - Produktnummern
Spalte G bis S - Description
in spalte B stehen momentan 1000 nummern mit den description spalte G-S. Wenn ich nun 20 nummern an das ende der tabelle ohne description eintrage und das neu berechne, soll das makro die 20 nummer in der spalte B suchen. Falls vorhanden, soll es die description G-S uebernehmen, falls nicht vorhanden soll es die felder G-S frei lassen, damit ich die dann editieren kann.
Das ist der beherige QT:
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(3, 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 14(N) in letzte Zeile kopieren
.Range(.Cells(ZellePNr.Row, 7), .Cells(ZellePNr.Row, 14)).Copy _
Destination:=.Cells(Zeile, 7)
End If
End If
End With
End Sub
der sucht zwar in der liste (Liste von A3-A5000) gibt aber kein Ergebnis aus (mit mgsbox spring der bis in z5001). Wenn die liste aufgeloest ist funktoniert es. Weiter sucht er nur nach der letzten zeile in der spalte B. Also wenn ich 20 neue nummern eingebe werden 19 nicht beachtet.
Ich hab inzwischen aufgegeben und hab einiges versucht, aber hier stosse ich wirklich an meine Grenzen.