Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Vergleich zweier Excel-Dateien

Forumthread: Vergleich zweier Excel-Dateien

Vergleich zweier Excel-Dateien
03.04.2025 18:10:12
Chense
Hallo zusammen,

ich habe folgendes Problem:

Ich habe ein Excel-Sheet in dem alle Bauteilnummern (ca. 10000) eines großen Projekts aufgelistet sind.
Und dann habe ich noch 138 Materialattestlisten in denen diese Bauteilnummern mit weiteren Informationen die hier aber irrelevant sind stehen.

Leider haben das Projekt mehrere Kollegen gleichzeitig bearbeitet und nun ist es so, dass definitiv einige dieser Materialattestlisten fehlen oder nicht vollständig sind.

Meine Aufgabe ist es nun anhand der Liste mit allen Bauteilnummern herauszufinden welche der Bauteilnummern aus der Hauptliste in keiner der 138 anderen Listen vorkommt.

Gibt es hier eine Möglichkeit das über VBA zu bewerkstelligen? Meine Grundidee wäre eine For-Schleife bei der ich bisher so weit (also noch kaum weit) gekommen bin:

Application.ScreenUpdating = False

Dim letztezeilefrei As String
lz = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row

Dim i As Long
Dim String1 as String
Dim String2 as String

For i = 1 to lz
String1 = Cells(i, 1).Value

Next

Mir ist also klar wie ich die erste Datei durchlaufe. Was mir aber total fehlt ist was dann passiert:

Ich will also alle 138 Listen (oder wenn es leichter ist kopiere ich diese zu einer Liste zusammen) durchsuchen und wenn die Bauteilnummer aus Spalte 1 im Quelldokument nicht gefunden wird will ich das irgendwie mitbekommen. Hier ist es mir egal ob dann die entsprechende Zeile im Quelldokument in irgendeiner Weise umformatiert wird oder ob die fehlenden Nummern in z.B. einem .txt file ausgegeben werden - Das was halt einfacher ist.

Ich bedanke mich recht herzlich für die Hilfe!
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleich zweier Excel-Dateien
03.04.2025 19:17:06
Uduuh
Hallo,
oder wenn es leichter ist kopiere ich diese zu einer Liste zusammen
und dann in deiner Bauteilliste mit ZÄHLENWENN() prüfen. Alle mit 0 fehlen.

Gruß aus'm Pott
Udo
Anzeige
AW: Vergleich zweier Excel-Dateien
03.04.2025 19:39:17
Piet
Hallo

so oder eine ähnliche Aufgabe habe ich schon mal bearbeitet. Es waren aber keine 138 Listen! VBA ist das egal.
Lade bitte mal eine Beispieldatei der Hauptliste und Materialattestliste hoch, dann suche ich mal in meinem Archiv.
Es reichen 20-30 Zeilen, damit man den Tabellenaufbau ersehen kann. Vielleicht finde ich die alte Lösung.
Die öffnete und verglich per VBA damals ca. 10 Dateien. Geht schneller als alles von Hand in eine Liste kopieren.

mfg Piet
Anzeige
AW: Vergleich zweier Excel-Dateien
05.04.2025 15:12:45
Piet
Hallo

meine Lösung hat eine Weile gedauert, habe die erste Idee verworfen. Mal sehen wie gut diese Lösung ist??
Statt die Dateien zu Öffnen lese ich per Formel einen Bereich von 100 Zeilen ein. Kann erweitert werden!
Alle 138 Dateien werden per Formel eingelesen und in Werte umgewandelt. Dann verglichen.
Im Sheet MxDir kannst du den Ordner mit den 138 Dateien auflisten.

Alle Daten die Abweichen wird der Wert der Hauptliste angezeigt. Man sieht also was geändert werden muss.
Außerdem erfaße ich Daten aus den Attestlisten, die NICHT in der Hauptlist vorkommen.
Viel Spass beim Testen ob das eine brauchbare Lösung ist
https://www.herber.de/bbs/user/176613.xlsm

mfg Piet
Anzeige
AW: Vergleich zweier Excel-Dateien
05.04.2025 15:20:43
Piet
Nachtrag

ich lese immer wieder das VBA kritisiert wird, weil PQ offenbar wesentlich effektiver für viele Aufgaben ist.
Das kann ich nicht beurteilen, habe kein PQ auf dem PC, im Augenblick keine Zeit mich reinzuarbeiten.

VBA kann aber etwas, was PQ vielleicht nicht kann?? - Da bin ich absoluter Laie.
Man kann die Änderungen in der Tabelle Auswertung bearbeiten, und dann per VBA in 138 Dateien kopieren.

mfg Piet
Anzeige
AW: Vergleich zweier Excel-Dateien
04.04.2025 12:10:25
Chense
Hallo zusammen,
erstmal herzlichen Dank für den Input - Das mit Power Query sehe ich mir jedenfalls mal an.
Wie ich mit Zählenwenn weiterkommen soll ist mir noch nicht ganz klar :)

Piet: Anbei die beiden Listen
Hauptliste: https://www.herber.de/bbs/user/176583.xlsx
Attestliste: https://www.herber.de/bbs/user/176584.xlsx

Ziel ist Spalte A der Liste1-Hauptliste zu durchlaufen und zu prüfen ob diese Bauteilnummer auch in der Liste2-Attestliste auftaucht.
Als Bonus würde ich gerne noch die Suche auf jene Bauteile eingrenzen bei denen in der Spalte B - Qualitätseinstufung nicht C2 oder garnichts steht. Das kriege ich dann aber auch selbst hin denke ich :)

Wenn der Fall eintritt, dass ein Bauteil in Liste 1 auftaucht und eine passende Qualitätseinstufung hat, aber in Liste 2 fehlt also z.b. die 2310-2665 dann soll das entweder direkt im Excel kenntlich gemacht werden oder irgendwie anders dokumentiert (z.B. durch fortlaufendes Schreiben in ein Textdokument)

PS: Wenn es einen zu großen Aufwand darstellt, komme ich denke ich auch mit PowerQuery klar da es sich um einen absoluten Ausnahmefall handelt. Normal bekommen wir die vereinzelten fehlenden Listen von einer anderen Stelle genannt - diesmal waren aber mehrere Externe Konstruktionsfirmen beteiligt und scheinbar wurden die von diesen gelieferten Daten nur unzureichend in Attestlisten gespult ... und die andere Stelle will sich nun den Stress nicht antun und hat mir aufgedrückt den Salat auszubaden :-D
Anzeige
Wie schon von...
04.04.2025 13:14:47
Case
Moin, :-)

... Jochen vorgeschlagen - hier mit Power Query: ;-)
https://www.herber.de/bbs/user/176586.zip

Das ist in wenigen Augenblicken "zusammengeklickt". ;-)

Wenn die Datei mit den Abfragen im gleichen Verzeichnis wie die auszuwertenden Dateien ist, dann brauchst du nur die Dateinamen in F1 und F2 anzupassen. ;-)

Im Beispiel passt das nach dem entpacken gleich - da muss du nichts tun. ;-)

Servus
Case
Anzeige
AW: Wie schon von...
04.04.2025 19:09:16
Yal
Moin,

Case hat sicher eine funktionierende Lösung, aber ich bin nicht sicher, dass es ohne Erklärung sich übertragen lässt.

Darüber hinaus funktioniert Power Query erst ab der Version 2016 von Excel. Aber äh, wir haben ja nur 2025. Kein Grund 200€ für eine aktuelle Version von Excel zu investieren. Lieber verbringt man mehrere Tage für eine wackelige VBA-Lösung... say no more.

Folgendes (mit Excel 2016 oder höher):
- es gibt ein Hauptverzeichnis. Darin liegt die "Hauptliste"
- es gibt in diesem Hauptverzeichnis ein Unterverzeichnis, darin liegen die alle Attest-Listen und nur Attest-Listen (starte zuerst mit 3 Dateien in diesem Verz.!)
- Hauptliste öffnen
- eine Zelle der Liste anklicken,
- Menü "Einfügen", "Tabelle". Umfang und Überschrift werden erkannt. Ok drücken.
- rechtklick auf die Tabelle, "Daten aus Tabellen/Bereich abrufen..." anklicken
- Du bist im Power Query Editor.
- Links in der Liste der Abfragen steht zurzeit nur die Abfrage "Tabelle1",
- daneben rechtklicken und "neue Abfrage..." wählen, "aus Datei", "aus Ordner", Unterverzeichnis eingeben
- in der Liste der Datei in der Spalte "Content" auf dem Symbol mit der Doppelpfeil klicken,
- am Ende hat man eine Liste aller Inhalt aus allen "Attest"-Dateien.
- die Spalte "Bauteilnummer" im Spaltenkopf rechtsklicken, Menü "Transformieren", "Gruppieren nach", ohne weiteres annehmen.
- jetzt auf Abfrage "Tabelle1" wechseln,
- Menü "Start", "Abfrage zusammenführen"
- unten die zweite Abfrage einschalten,
- in beide Abfragen die Spalten "Bauteilnummer" anklicken,
- Join-Art "Linker äußerer Join" ist richtig, ok.
- in der neue Spalte auf dem Symbol mit dem Doppelpfeil, Haken nur bei "Bauteilnummer" anlassen.
- auf dem Filter dieser neuen Spalten alle Einträge mit "null" behalten (also Haken bei "null", kein Haken beim Rest)
- Menü "Datei", "Schliessen & laden"
- Fertig.
Das ist die Liste der Bauteilnummer, die in keinem der 3 Dateien vorkommt.

- jetzt schiebst Du die 135 übrigen Dateien in der Unterverzeichnis,
- geht auf die Ausgabe-Tabelle, die durch die PQ-Abfrage erzeugt wurde,
- rechtsklick drauf und "aktualisieren". Die Verarbeitung wird ein bisschen dauern.


Anders gesagt: ja, es lohnt sich in einer aktuelle Excel-Version zu investieren.

Weitere Info über PQ in diesen sehr guten Tutorial: https://excelhero.de/power-query/power-query-ganz-einfach-erklaert/

VG
Yal
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18