Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Doppelte Werte per VBA löschen
#1
Hallo zusammen,

ich bin mal wieder etwas ratlos.
Ich versuche 2 Tabellen in 2 Tabellenblättern zu vergleichen und per VBA Macro doppelte Werte zu löschen.

Code:
Sub doppelte_Daten_loeschen()
Dim i As Long
With Sheets("1")
    For i = .Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
        If Application.IsNumber(Application.Match(.Cells(i, "A"), Sheets("2").Columns(1), 0)) Then
            .Cells(i, "A").EntireRow.Delete
        End If
    Next
End With
End Sub
funktioniert soweit auch ganz gut, nun reicht es aber nicht mehr aus nur Spalte A zu vergleichen sondern es müssen Spalte A und B in Tabelle 1 und 2 verglichen werden.
Wenn BEIDE Werte in BEIDEN Blättern gleich sind soll die Zeile entsprechend obigem Code gelöscht werden.
Hat hier jemand ne Idee? Mein Kopf leer und ich komme nicht weiter...
Antworten Top
#2
Code:
Sub M_snb()
   sn=sheet1.usedrange.columns(1).resize(,2)
   c00="_"&join([transpose(if(sheet2!A1:A10000="","",sheet2!A1:A10000&sheet2!B1:B10000))],"_")&"_"

   for j=1 to ubound(sn)
     if instr(c00, "_" &sn(j,1)&sn(j,2) & "_") then sn(j,1)=""
  next

  sheet1.usedrange.columns(1).resize(,2)=sn
  sheet1.usedrange.columns(1).specialcells(4).entirerow.delete
End Sub
 
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • e2Ki
Antworten Top
#3
Vielen Dank SNB für deine Antwort,

leider verstehe ich diese nicht ganz.

Wenn ich den Code so übernehme, sagt er "Objekt erforderlich".


Ich verstehe auch nicht genau was das Macro genau macht.

Kannst du mir ne kleine Erklärung geben und sagen wo ich was anpassen müsste?
Antworten Top
#4
Statt 'Sheet1." verwende die Codename, vermutlich Tabelle1.

Und statt Sheet2., Tabelle2.

Aber: ohne Datei keine Ahnung.
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • e2Ki
Antworten Top
#5
Sorry, 
Anbei die Testdatei.

Wenn der Code funktioniert müsste in Tabelle 1 alles bis auf Zeile 4 der Eingabe gelöscht werden.
In der echten Datei sind in Spalte A und B Zahlen und Daten, ggf. auch Buchstaben

Ok, ich bin etwas zu müde glaube ich ^^

EDIT:
Habe deinen Code zum laufen gebracht und es geht wunderbar !! danke Smile


Angehängte Dateien
.xlsm   Testgebiet.xlsm (Größe: 20,9 KB / Downloads: 2)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste