Excel - Zwei Dokumente abgleichen und zusammenfügen

banshe

Mitglied
Hallo zusammen

Ich habe zwei Excel Sheets, beide sind gleich aufgebaut:

Tabelle 1

ABCDE
NameVornameStrasseOrtLand
KellerPeterBlumenweg 1MünchenDeutschland
MusterHansZugweg 3BernSchweiz


Tabelle 2

ABCDE
NameVornameStrasseOrtLand
KellerPeterDeutschland
MusterHans


Die Tabelle 1 ist zwar vollständig, aber nicht mehr aktuell (viele leute gibt es aktuell nicht mehr).
Die Tabelle 2 ist aktuell, aber nicht vollständig.

Wie kann ich:
- vergleichen, gibt es Name und Vorname von Tabelle 2 in Tabelle 1
--- Wenn ja, kopiere mir NUR die Strasse und die Ortschaft dieser Person in die Tabelle 2.
--- Wenn nein, nächste person

Bisher habe ich herausgefunden dass man mit
=[ErsteMappe.xls]Tabelle1!A1=[ZweiteMappe.xls]Tabelle1!A1
auf zwei unterschiedliche Sheets zugreifen kann... aber wie der Rest?

Bitte um Hilfe..

Danke vielmals!
 
Zuletzt bearbeitet:
Für die Spalte "3" - Strasse in der ersten Zeile würde die Formel so aussehen:

Visual Basic:
=SVERWEIS(VERKETTEN(A2;B2);Tabelle1!A:E;3)

Hier wird zuerst als Suchkriterium der Name und der Vorname verknüpft und in Tabelle 1 im Bereich A : E dannach gesucht. Wird ein Eintrag gefunden wird der Inhalt der Spalte 3 zurückgegeben

Das müsstest du jetzt für alle entsprechenden Zellen anpassen. Die Frage ist dann aber wie groß der Aufwand dafür ist und ob es nicht besser wäre das mit VBA zu lösen!?
 
Und was macht er wenn in Tabelle1 es einen Peter Keller in München und einen Peter Keller in Hamburg gibt?
Dann funktioniert weder SVERWEIS noch VBA, weil das Suchkriterium nur Vor-, Nachname und Land ist.
 
Natürlich ist dieser Vergleich nicht sicher.

Es könnte ja auch jemand heiraten und deshalb plötzlich einen anderen Nachnamen haben. Dann würde er/sie trotz gleichem Vorname, Strasse, usw. nicht gefunden.

Um es richtig zu machen müsste jedem Eintrag ein eindeutiger Index zugewiesen werden. Dann wäre das alles ganz einfach.
 
Vielen Dank für die Antworten..!

Und was macht er wenn in Tabelle1 es einen Peter Keller in München und einen Peter Keller in Hamburg gibt?
Dann funktioniert weder SVERWEIS noch VBA, weil das Suchkriterium nur Vor-, Nachname und Land ist.

Hierzu habe ich etwas vergessen, das Suchkriterium wird der Vor-, Nachname und das Geburtsdatum sein...
Das ganze sollte über ein Makro funktionieren, da es ca. 5000 Zeilen sind...


Natürlich ist dieser Vergleich nicht sicher.

Es könnte ja auch jemand heiraten und deshalb plötzlich einen anderen Nachnamen haben. Dann würde er/sie trotz gleichem Vorname, Strasse, usw. nicht gefunden.

Um es richtig zu machen müsste jedem Eintrag ein eindeutiger Index zugewiesen werden. Dann wäre das alles ganz einfach.

Wenn ich das richtig verstehe, redest du von der Nachhaltigkeit dieser Liste..
Die Listen sind beide im Excel (also kein immer aktualisierender export einer DB). Daher stimmen die Namen beider Listen überein. Wenn nachträglich Namen, Adressen, etc. ändern, spielt dies in diesem zusammenhang keine Rolle. Wichtig ist nur die beiden Listen sauber zusammen-zu-fügen..


Vielen Dank schonmals...
 
Hallo,

ist das öfters der Fall, dass Du solche Arbeitsmappen vereinen musst?

Wenn nein, kopiere mit "STRG-C" alle Daten der einen Arbeitsmappe in ein leeres Tabellenblatt der anderen.
Jetzt kannst Du über ein VBA-Makro jede Zeile der einen Tabelle mit allen Zeilen der anderen Tabelle prüfen und in einem neuen Tabellenblatt einfügen.

Viele Grüße,

VScan
 
Hier mal ein Beispiel wie es gelöst werden könnte.

Das Makro prüft bei Nachnamen, Vornamen und Geburtsdatum auf Gleichheit. In diesem Fall wird die Strasse und der Ort aus Tabelle1 in Tabelle2 übertragen (auch wenn dort schon etwas steht!!)

Das Makro läuft so lange bis es in Tabelle1 oder Tabelle2 eine Zeile OHNE Nachnamen gefunden hat!

Was noch wichtig ist: Der Anhang ist eine Excel Datei bei der die Dateiendung einfach von XLS in TXT geändert wurde. Zum Testen also einfach wieder umbenennen.
 

Anhänge

  • Excel.txt
    35 KB · Aufrufe: 421
Hallo,

ist das öfters der Fall, dass Du solche Arbeitsmappen vereinen musst?

Wenn nein, kopiere mit "STRG-C" alle Daten der einen Arbeitsmappe in ein leeres Tabellenblatt der anderen.
Jetzt kannst Du über ein VBA-Makro jede Zeile der einen Tabelle mit allen Zeilen der anderen Tabelle prüfen und in einem neuen Tabellenblatt einfügen.

Viele Grüße,

VScan

Hallo VScan

Danke für deinen Ratschlag!
Nein, ich muss hoffentlich keine Arbeitsmappen mehr vereinen :), diese Arbeit ist einmalig.

Wie muss so ein VBA-Makro aussehen? Habe dies noch nie gemacht...

Herzlichen Dank
banshe
 
Hier mal ein Beispiel wie es gelöst werden könnte.

Das Makro prüft bei Nachnamen, Vornamen und Geburtsdatum auf Gleichheit. In diesem Fall wird die Strasse und der Ort aus Tabelle1 in Tabelle2 übertragen (auch wenn dort schon etwas steht!!)

Das Makro läuft so lange bis es in Tabelle1 oder Tabelle2 eine Zeile OHNE Nachnamen gefunden hat!

Was noch wichtig ist: Der Anhang ist eine Excel Datei bei der die Dateiendung einfach von XLS in TXT geändert wurde. Zum Testen also einfach wieder umbenennen.

Vielen Dank!!
Villeicht bin ich noch zu schläfrig - aber wie kann ich das Makro ausführen?
Ich sehe den Button, weiss aber nicht wie ausführen.. Wenn ich im Microsoft VB den Button "Run Sub/User Form" drücke, bekomme ich die Meldung "The macros in this project are disabled."

Was muss ich machen/mache ich falsch?
 
EXCEL 2000:
Also beim Starten von Excel kommt normalerweise der Hinweis das Makros enthalten sind und man wird gefragt ob man "Makros aktivieren" oder "Makros deaktivieren" möchte.

Wenn du zuerst auf aktivieren und dann in Tabelle2 auf den Button klickst, muss es laufen.

Um dir den VBA Code anzuschauen, klicke im Menü auf "Extras -> Makros -> Visual Basic Editor" oder verwende die Tastenkombination ALT + F11.
 

Neue Beiträge

Zurück