borgadmin
Goto Top

Inhalte aus 2 Tabellen vergleichen und doppelte Einträge aus einer Tabelle löschen

Hallo zusammen,

ich nutze Office 2010 und habe folgendes Vorhaben:

Gegeben sind 2 Excel Tabellen (Könnte die Inhalte der einen Tabelle aber problemlos in ein separates Datenblatt einfügen). In beiden Tabellen sind Addressdatensätze vorhanden.

Aufbau Tabelle 1:
Anrede | Titel | Vorname | Nachname | Email

Aufbau Tabelle 2:
Email


Ziel soll es sein in Tabelle 1 alle Einträge zu löschen die in Tabelle 2 enthalten sind. Ich habe leider überhaupt keinen Ansatz wie ich das mit Excel lösen könnte.

Hat jemand eine Idee für mich?

Viele Grüße

Content-ID: 185725

Url: https://administrator.de/contentid/185725

Ausgedruckt am: 14.11.2024 um 11:11 Uhr

LianenSchwinger
LianenSchwinger 31.05.2012 um 14:13:44 Uhr
Goto Top
Hallo borgadmin,

kannst Du vielleicht etwas mehr dazu schreiben, was Du als Ziel der Aktion vor hast.

Aus dem Stehgreif würde ich sagen kommst Du nicht um VBA-Programmierung rum.

Gruß Jörg
borgadmin
borgadmin 31.05.2012 um 14:25:03 Uhr
Goto Top
Hi Jörg,

Hintergund der Aktion ist, dass wir eine Reihe Rückläufer (= Tabelle 2) haben deren Datensätze aus der Original Tabelle entfernt werden sollen. Die Originaltabelle soll also qausi "bereinigt" werden.

Hm, wenn es keine andere Möglichkeit ausser VBA gibt, werde ich das schnell anders machen, die Excel Tabelle als CSV speichern, in eine MySQL Datenbank einspielen, per SQL die Dubletten rauskegeln und als CSV zurückspeichern. Sollte ja auch gehen. VBA müsst ich von vorne anfangen, da 0 Kenntnisse face-smile

Es sei denn es hätte jemand eine andere schnellere Idee...
LianenSchwinger
LianenSchwinger 31.05.2012 um 14:41:24 Uhr
Goto Top
... habe da gerade noch eine Idee face-smile

Du machst in Tabelle 1 einen SVERWEIS auf Tabelle 2 und läßt Dir die Email-Adresse übergeben.
Dann machst Du per Autofilter eine Auswahl der Zeilen, die eine Emailadresse in der Spalte haben und machst dann Zeilen löschen.

Gruß Jörg
Nebellicht
Nebellicht 01.06.2012 aktualisiert um 13:45:50 Uhr
Goto Top
Hallo Borgadmin,
so könnte es gehen. Allerdings zusammengebastelt. Code kann bestimmt eleganter geschrieben werden. Dürfte etwas Zeit in Anspruch nehmen je nach Tabellengröße.
Gruß Maik

Sub dummies()
 For tab1 = 1 To 3
  For tab2 = 1 To 3
   If Tabelle1.Cells(tab1, "C") = Tabelle2.Cells(tab2, "A") Then  
    'MsgBox ("Übereinstimmung!")  
    Worksheets("Tabelle1").Activate  
    Rows(tab1 & ":" & tab1).Select  
    Selection.Delete Shift:=xlUp
   End If
  Next tab2
 Next tab1
End Sub

Allerdings müßte noch berücksichtigt werden, dass wenn die Reihe gelöscht wird,
auch der Indexläufer nicht mehr passt. Würde vorschlagen nicht zu löschen sondern
nur kennzeichnen mit "*GELÖSCHT*" und nachher danach zu filtern und dann manuell
markieren und entfernen!