Frage

i Codierte ein VBA-Skript in Excel, das neue Daten in einem Datenblatt mit früheren Informationen hinzufügt. Bevor Sie dies tun, werden die neuen Daten in ein vorläufiges Datenblatt kopiert. Um Duplikate zu vermeiden, erstellen Sie eine zusätzliche Spalte und führen Sie einen VLOOKUP-IDs aus. Wenn die ID aus den neuen importierten Daten bereits im Datenblatt mit den alten Daten ist, wird diese Zeile als dupliziert markiert und wird gelöscht. Die "nicht duplizierten Zeilen" werden dann in das endgültige Datenblatt kopiert, in dem alle Daten gespeichert sind.

Jetzt nutze ich in der vlookup eine Spaltenreferenz (A Wenn ich zum ersten Mal codiert bin, habe ich den Test mit nicht mehr als 4.000 Zeilen in der ursprünglichen Datenblatt und 4.000 Zeilen in den importierten Daten getestet. Das Makro wurde nach 90 Sekunden durchgeführt. Im Moment braucht es mehr als 5 Minuten und das Datenblatt mit Daten beträgt nur 40.000 Zeilen groß, während die neuen Daten immer rund 4.000 Zeilen sind.

Wenn ich den Bereich im VLOOKUP dynamisch verweisen sollte, anstatt A: a oder es spielt keine Rolle in Bezug auf die Geschwindigkeit?

War es hilfreich?

Lösung

Wie in meinem Kommentar erwähnt, ist es sicherlich ein Weg, um diese Aufgabe mit VBA zu erfüllen, aber manchmal ist die einfachste Lösung am besten.Ich würde alle 40K-Datensätze jedes Mal empfohlen und mithilfe der "DUPLIKATES" -Funktion unter dem Ribbon "Data" mit der Spalte, die Ihren eindeutigen Wert enthält, verwendet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top