Hallo liebes Forum,
ich habe eine Tabelle mit recht vielen Zeilen. In Spalte A steht der Kundenname, in Spalte B die Geschäftsabteilung zu der dieser Kunde gehört. In den Spalten C bis irgendwas stehen dann weitere Daten wie Absatzzahlen u.s.w., die für die Frage aber nicht relevant sind.
In einer zweiten Tabelle steht ebenfalls in Spalte A der Kunden, in Spalte B die GA und in Spalte C der Name des Kundenbetreuers.
Nun soll für jeden Eintrag in Tabelle 1 die Kombination Spalte A und Spalte B in Tabelle 2 gesucht werden und das Ergebnis in Tabelle 1 eingetragen werden. Ich suche also den zuständigen Kundenbetreuer für jede Zeile in Tabelle 1.
Im Moment mache ich das mit 2 verschachtelten Schleifen. Die eine geht Tabelle 1 Zeile für Zeile durch und für jeden Eintrag durchläuft die innere Schleife die zweite Tabelle und sucht nach einer Übereinstimmung von beiden Kriterien (Firma und GA). Sobald ein Treffer gefunden wurde, wird das Ergebnis in Tabelle 1 geschrieben und die innere Schleife abgebrochen. Dann geht es weiter mit der nächsten Zeile aus Tabelle 1.
Das ganze dauert ziemlich lange. Tabelle 1 hat 26.000 Zeilen und Tabelle 2 hat 1.700 Zeilen. Aktuell läuft das Skript etwa 40 Minuten.
Nun meine Frage: gibt es eine schnellere Methode? Vielleicht mit Range.Find? oder Application.VLookup? Ein Problem dabei ist sicherlich, dass auf zwei Kriterien geprüft werden muss.
Danke schon mal für eure Ideen!
Mick
ich habe eine Tabelle mit recht vielen Zeilen. In Spalte A steht der Kundenname, in Spalte B die Geschäftsabteilung zu der dieser Kunde gehört. In den Spalten C bis irgendwas stehen dann weitere Daten wie Absatzzahlen u.s.w., die für die Frage aber nicht relevant sind.
In einer zweiten Tabelle steht ebenfalls in Spalte A der Kunden, in Spalte B die GA und in Spalte C der Name des Kundenbetreuers.
Nun soll für jeden Eintrag in Tabelle 1 die Kombination Spalte A und Spalte B in Tabelle 2 gesucht werden und das Ergebnis in Tabelle 1 eingetragen werden. Ich suche also den zuständigen Kundenbetreuer für jede Zeile in Tabelle 1.
Im Moment mache ich das mit 2 verschachtelten Schleifen. Die eine geht Tabelle 1 Zeile für Zeile durch und für jeden Eintrag durchläuft die innere Schleife die zweite Tabelle und sucht nach einer Übereinstimmung von beiden Kriterien (Firma und GA). Sobald ein Treffer gefunden wurde, wird das Ergebnis in Tabelle 1 geschrieben und die innere Schleife abgebrochen. Dann geht es weiter mit der nächsten Zeile aus Tabelle 1.
Das ganze dauert ziemlich lange. Tabelle 1 hat 26.000 Zeilen und Tabelle 2 hat 1.700 Zeilen. Aktuell läuft das Skript etwa 40 Minuten.
Nun meine Frage: gibt es eine schnellere Methode? Vielleicht mit Range.Find? oder Application.VLookup? Ein Problem dabei ist sicherlich, dass auf zwei Kriterien geprüft werden muss.
Danke schon mal für eure Ideen!
Mick
Zuletzt bearbeitet: