ich habe folgenden Code:
Sub PreiseUpdaten()
Dim wsAktuell As Worksheet, wsVorjahr As Worksheet
Dim lngZ As Long, lngZ2 As Long
Set wsAktuell = Sheets("2010") 'Name des Blattes mit AKTUELLEN Preisen
Set wsVorjahr = Sheets("2009") 'Name des Blattes in das hinein kopiert wird
'Alle Zeilen ab Zeile 2, da Zeile 1 Überschrift ist
For lngZ = 2 To wsAktuell.Cells(Rows.Count, 1).End(xlUp).Row
lngZ2 = wsVorjahr.Cells(Rows.Count, 1).End(xlUp).Row
'Prüfen, ob Artikel aus AKTUELLEM Jahr bereits in Vorjahresliste enthalten war :
If Application.CountIf(wsVorjahr.Columns(1), wsAktuell.Cells(lngZ, 1)) > 0 Then
lngZ2 = wsVorjahr.Columns(1).Find(wsAktuell.Cells(lngZ, 1), lookat:=xlWhole).Row
'Falls Artikel bereits im Vorjahr enthalten war :
wsVorjahr.Cells(lngZ2, 2) = wsAktuell.Cells(lngZ, 2) 'Preis ersetzen
Else
'Falls Artikel im Vorjahr noch NICHT enthalten war :
wsAktuell.Rows(lngZ).Copy wsVorjahr.Cells(lngZ2 + 1, 1) 'Zeile unten anfügen
End If
Next
'Ergänzung : Suche alle Artikel aus 2009 in 2010,
'um mehrfach enthaltene Artikel zu aktualisieren
'Alle Zeilen ab Zeile 2, da Zeile 1 Überschrift ist
For lngZ = 2 To wsVorjahr.Cells(Rows.Count, 1).End(xlUp).Row
lngZ2 = wsAktuell.Cells(Rows.Count, 1).End(xlUp).Row
'Alle Artikel aus Vorjahresliste in AKTUELLER Liste suchen :
If Application.CountIf(wsAktuell.Columns(1), wsVorjahr.Cells(lngZ, 1)) > 0 Then
lngZ2 = wsAktuell.Columns(1).Find(wsVorjahr.Cells(lngZ, 1), lookat:=xlWhole).Row
'Falls Artikel bereits im Vorjahr enthalten war :
wsVorjahr.Cells(lngZ, 2) = wsAktuell.Cells(lngZ2, 2) 'Preis ersetzen
End If
Next
End Sub
Nun soll allerdings nicht nur der Artikel in Spalte a überprüft werden sondern auch die Farbe in Spalte D.
Ich hoffe ihr habt eine Idee.
Maik