Bin ich da mit meinem Ansatz auf dem richtigen Weg?
Nein, bist Du nicht.
Dir ist klar, dass Du im worst-case 1.048.576^2 durchläufe (mal 3 Vergleichsoperationen) haben wirst?
Du musst fauler werden ^^
Zum mitdenken:
Jede (belegte) Zelle einer Spalte aus Bereich Neu, soll mit jeder (belegten) Zelle aus Bereich Alt überprüft werden.
Und wenn Zeichnungsnummer abweicht, soll protokolliert werden?
Fragen:
a) Sind IDs je Bereich (Alt, Neu) eindeutig? (also keine Doppler)
= Wenn eindeutig, dann ist der Sverweis Deiner Schleife vorzuziehen.
Wenn unbedingt per VBA (bzw unbedingt VBA ohne Excel-Formel als Code), dann verwendest Du besser Application.Match() oder Range.Find(), anstelle Zelle für Zelle mit Zelle für Zelle via Schleife zu vergleichen.
Zusammengefasst:
a) erste For-Each-Schleife ist ok; aber nicht die ganze Spalte, sondern nur der benutzte Bereich
b) jetzt keine zweite Schleife, sonder mit den o.g. Methoden im anderen Bereich suchen (lassen^^). Wenn gefunden, dann vergleichen, sonst ignorieren bzw weitermachen.
|