Das Archiv des Excel-Forums

Dateien vergleichen-doppelte löschen

Bild

Betrifft: Dateien vergleichen-doppelte löschen
von: Andi

Geschrieben am: 04.08.2008 19:48:00

Hallo Leute,
ich brauche unbedingt ein Makro. Ich hoffe Ihr könnt helfen:
Ich habe zwei Excel-Dateien. In beiden stehen unter anderem in Spalte C Zahlen, die miteinander verglichen werden sollen. Sofern die Zahlen der zweiten Datei in der ersten vorkommen, soll die jeweilige Zeile in der ersten Datei gelöscht werden.
Zum besseren Verständnis:
Ursprung:
DateiA
SpalteC
1
5
3
4
2
DateiB
SpalteC
2
3
5
Ergebnis:
DateiA
SpalteC
1
4
Was mit den Daten in Datei B passiert ist egal. Da ich nicht weiß, ob es relevant ist: Die Spalten haben Überschriften.
Vielen Danke im Voraus.
Andi

Bild

Betrifft: AW: Dateien vergleichen-doppelte löschen
von: Daniel
Geschrieben am: 04.08.2008 20:30:35
HI
1. beide Dateien öffnen
2. in Datei Hilfsspalte einfügen mit der Formel (einzugeben ab Zeile 2):
=ZÄHLENWENN([DateiB.xls]Tabelle1!$C:$C;C2)
3. alle Zeilen, in denen in der Hilfsspalte ein Wert grösser 0 steht, löschen
(bei grossen Datenmengen empfielt es sich hier, die Daten vorher nach der Hilfsspalte zu sortieren, bzw davor noch durch KOPIEREN und INHALTE-EINFÜGEN-WERTE die Formelen durch FIX-Werte zu ersetzen. das beschleunigt auch das Arbeiten mit dem Autofilter)
als Makro dann so


Sub Löschen()
ThisWorkbook.Sheets(1).Columns(1).Insert
With ThisWorkbook.Sheets(1)
With Range(.Cells(2, 1), .Cells(Rows.Count, 4).End(xlUp).Offset(0, -3))
.FormulaLocal = "=wenn(zählenwenn([DateiB.xls]Tabelle1!C:C;D2)=0;Zeile();wahr)"
.Formula = .Value
.EntireColumn.Sort key1:=.Cells(1, 1), order1:=xlAscending, header:=xlNo
On Error Resume Next
.SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
On Error GoTo 0
.EntireColumn.Delete
End With
End With
End Sub


Zellbezüge und Dateinamen ggf noch anpassen.
Das Makro muss in Datei A
es müssen beide Dateien geöffnet sein.
Gruß, Daniel

Bild

Betrifft: AW: Dateien vergleichen-doppelte löschen
von: Andi

Geschrieben am: 04.08.2008 21:16:31
Hallo Daniel,
zunächst einmal danke für die schnelle Antwort.
Das Makro gibt nur leider in DateiA 1 und 2 als Ergebnis wieder (was ja falsch ist).
(Den Ansatz mit der Hilfsspalte und Formel hatte ich auch bereits - da war ich ja zumindest schonmal auf der richtigen Fährte ;-)
Da es aber viele Dateien sind, die (nach und nach) miteinander verglichen werden sollen, wäre ein Makro erheblich praktischer.
Gruß,
Andi

Bild

Betrifft: AW: Dateien vergleichen-doppelte löschen
von: Ramses
Geschrieben am: 04.08.2008 21:41:20
Hallo
ungetestet aber probier mal

Option Explicit

Sub DeleteDoubleValues()
    Dim srcWkb As Workbook, tarWkb As Workbook
    Dim srcWks As Worksheet, tarWks As Worksheet
    Dim srcCol As Integer, tarCol As Integer
    Dim i As Long
    Dim tmpVal As Variant
    Set srcWkb = Workbooks("Deine Quellmappe1.xls")
    Set srcWks = srcWkb.Worksheets("Tabelle mit Daten")
    'Spalte wo die Quelldaten stehen
    srcCol = 1
    Set tarWkb = Workbooks("Deine Kontrollmappe2.xls")
    Set tarWks = tarWkb.Worksheets("Tabelle mit KontrollDaten")
    'Spalte wo die KontrollDaten stehen
    tarCol = 1
    With srcWks
        'Endet in Zeile 2
        For i = .Cells(Rows.Count, srcCol) To 2 Step -1
            tmpVal = .Cells(i, srcCol)
            If Not tarWks.Columns(tarCol).Find(tmpVal) Then
                .Rows(i).Delete
            End If
        Next i
    End With
End Sub

Gruss Rainer

Bild

Betrifft: AW: Dateien vergleichen-doppelte löschen
von: Daniel

Geschrieben am: 04.08.2008 22:23:17
Hi
lad mal die Beispieldateien hoch.
nur anhand von konketen Beispielen lässt sich so ein Makro testen und damit fehlerfrei erstellen.
Gruß, Daniel

Bild

Betrifft: AW: fehler gefunden
von: Daniel
Geschrieben am: 04.08.2008 22:31:06
Hallo
hab grad den Fehler gefunden.
Tausch mal diese Zeile


.EntireColumn.Sort key1:=.Cells(1, 1), order1:=xlAscending, header:=xlNo


durch diese aus


.EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, header:=xlNo


dann sollte es funktionieren.
Gruß, Daniel

Bild

Betrifft: AW: fehler gefunden
von: Andi

Geschrieben am: 05.08.2008 13:32:57
Das Problem wurde durch Daniel gelöst - Vielen Dank für Eure Hilfe.

 Bild

Excel-Beispiele zum Thema "Dateien vergleichen-doppelte löschen"

Alle Dateien im Verzeichnis öffnen download Dateien listen download
400 leere Textdateien anlegen download XL-Dateien in UserForm listen download
XL5/7-Dateien nach XL8 konvertieren download Dateien aus Listbox auslesen und öffnen download
Excel-Dateien eines Ordners listen download Alle Dateien ab einem bestimmten Datum listen download
Alle Dateien eines Verzeichnisses drucken download Textdateien verbinden download
Serie von Dateien in das XL5/7-Format konvertieren download Verzeichnisbaum aufrufen und Dateien in ListBox auflisten download
Dateien einer Ordnerliste in einer Tabelle zusammenstellen download Daten aus allen Dateien eines Verzeichnisses zusammenführen download
Hyperlinks zu allen Excel-Dateien eines Verzeichnisses erstellen download Dateien in einem Verzeichnis und Unterverzeichnissen suchen download
XL-Dateien aus Haupt- und Unterverzeichnissen einlesen download Die Eigenschaft "Stichwort" in allen Dateien eines Ordners ändern download
Textdateien vergleichen und Unterschiede dokumentieren download Löschen von Dateien beim Schließen einer Arbeitsmappe download
Grafikdateien suchen download Erste Blätter aus allen Dateien eines Verzeichnisses sammeln download
Von allen Arbeitsblättern der Mappe HTML-Dateien anlegen download Textdateien auslesen und in Werte in Zellen eintragen download
Werte nach Gruppen aufteilen und in gesonderten Dateien speichern download Fragen aus Textdateien in UserForm-Label einlesen download
Text in Textdateien suchen und Fundzeilen in Tabelle ausgeben download Alle Dateien löschen, die älter als 30 Tage sind download
Dateien mit Angabe des Dateidatums mit Hyperlink listen download Dateien listen und gekennzeichnete öffnen download
UserForm-TextBoxes-Texte in Textdateien speichern download Tabellenblattinhalte in getrennten Textdateien speichern download
Dateien listen und Blätter in neue Arbeitsmappe kopieren download Bei Doppelklick Textdateien in Editor öffnen download
Dateiliste mit allen xl-Dateien und Hyperlinks erstellen download Aufruf von Textdateien protokollieren download
Textdateien mit einer Zeile in Tabelle einlesen download Alle Textdateien eines Verzeichnisses importieren download
Dateien öffnen, Verknüpfungen aktualisieren, speichern, schießen download Dateien suchen download
Dateien mit bestimmtem Inhalt suchen download