Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Werte aus 2 Dateien vergleichen und kopieren

Werte aus 2 Dateien vergleichen und kopieren
21.05.2007 16:26:04
Andreas
Hallo zusammen,
ich muss eine Auswertung machen aus 2 Dateien. Also folgendes Problem:
Es gibt 2 Dateien (Datei1 und Datei2) mit jeweils einer Tabelle (Tabelle1 und Tabelle2)
Datei1 ist mit ca. 400 Zeilen und 40 Spalten mit verschiedenen Daten (Datum, Texte und Zahlen) gefüllt.
Datei2 ist eine temporäre Datei und ist ein Export aus SAP (mit gleichen Daten bzw. neue Daten). Jetzt zu meinem Problem:
In Datei1 sollte ein Button sein. Wenn ich ihn anklicke dann sollte die Projektnummer (Zelle A1) aus der Datei2 mit der Projektnummer (Zelle A1) aus der Datei1 verglichen werden, wenn diese gleich ist dann die restlichen Werte (B1 bis AZ1 aus Datei2 mit Datei1) vergleichen und wenn ungleich dann ersetzen sonst lassen. Wenn keine Übereinstimmung zwischen A1(Datei2) und A1(Datei1) dann die ganze Zeile aus der Datei2 in die nächste leere Zeile (also z.B. 401) der Datei1 kopieren. Datei1 wird immer als "Master"abgespeichert und jede Woche mit der neuesten Datei2 verglichen. Gibt dafür eine Lösung mit VBA?
Ich hoffe ich hab’s nicht zu umständlich erklärt :-).
Gruß
Andreas

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Werte aus 2 Dateien vergleichen und kopieren
22.05.2007 08:17:00
Jan3
Hi Andreas,
Stell mal ein Beispiel für Deine Dateien ins Forum.
Jan

AW: Werte aus 2 Dateien vergleichen und kopieren
22.05.2007 13:52:00
Jan3
Hi Andreas,
Ein paar Rückfragen:
1. Die Projektnummer ist immer eindeutig in der Master-Tabelle?
2. Kommt es vor, das in der aktuellen Datei die gleiche Projekt-nr mehrmals vorkommt?
3. Was ist bei Dir Mappe1? Die Datei(Arbeitsmappe) "Master" oder ein Tabellenblatt oder was?
Jan

Anzeige
AW: Werte aus 2 Dateien vergleichen und kopieren
22.05.2007 15:56:00
Andreas
Hallo Jan,
danke für die Hilfe!!!
Zu deinen Fragen:
1. Die Projektnummer ist immer die gleiche!! Sowohl in der Masterdatei als auch in der "TempDatei" Sie wird nur einmal vergeben.
2. nein
3 Mappe1 = Datei1 :-)
wie schon gesagt am besten per VBA und nicht z.B. mit SVERWEIS.

Anzeige
AW: Werte aus 2 Dateien vergleichen und kopieren
24.05.2007 09:09:00
Jan3
Hi Andreas,
anbei habe ich mal eine Lösungsvariante erstellt. Teste sie mal durch. In der aktuellen Datei befindet sich eine Befehlsschaltfläche zur Ausführung des Makros. Beide Dateien müssen im gleichen Verzeichnis stehen.
https://www.herber.de/bbs/user/42714.zip
Jan

Anzeige
AW: Werte aus 2 Dateien vergleichen und kopieren
24.05.2007 10:02:00
Andreas
Hallo Jan,
erstmal vielen Dank!!!!!
Ich hab die Dateien in ein Verzeichnis extrahiert. Jedoch kommt immer wieder die Fehlermeldung: "Laufzeitfehler 424 - Objekt erforderlich" und das Makro stoppt bei "If w.Name = "Master.xls" Then" als ob die Datei nicht gefunden wird.
Mach ich da was flasch?
Gruß
Andreas

Anzeige
AW: Werte aus 2 Dateien vergleichen und kopieren
24.05.2007 10:35:00
Jan3
Hi Andreas,
bei mir läuft es einwandfrei.
Wenn Du beide Dateien geöffnest hast, kannst Du auch folgenden VBA-Code zu Testzwecken nutzen.

Sub Aktualisieren()
Dim wkb As Workbook
Dim wkb1 As Workbook
Dim wks As Worksheet
Dim wks1 As Worksheet
Dim rng As Range
Dim iRow As Integer
Dim i
Application.ScreenUpdating = False
On Error Resume Next
On Error GoTo 0
Set wkb = Workbooks("Master.xls")
Set wkb1 = ThisWorkbook
wkb1.Activate
Set wks = wkb.Worksheets("Tabelle1")
Set wks1 = wkb1.Worksheets("Tabelle1")
anz = wks.Cells(65536, 1).End(xlUp).Row
anz1 = wks1.Cells(65536, 1).End(xlUp).Row
For z = 2 To anz1
suchwert = wks1.Cells(z, 1)
With wks.Range("a2:a" & anz)
Set c = .Find(suchwert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
For s = 2 To 11
wks.Cells(c.Row, s) = wks1.Cells(z, s)
Next
Else
For s = 1 To 11
wks.Cells(anz + 1, s) = wks1.Cells(z, s)
Next
anz = wks.Cells(65536, 1).End(xlUp).Row
End If
End With
Next
Application.ScreenUpdating = True
End Sub


Jan

Anzeige
AW: Werte aus 2 Dateien vergleichen und kopieren
24.05.2007 15:48:35
Andreas
Komisch jetzt funktioniert es :-)!! SUPER!! Vielen Dank nochmal!!!
Gruß
Andreas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Werte aus 2 Dateien vergleichen und kopieren


Schritt-für-Schritt-Anleitung

  1. Öffne die beiden Excel-Dateien. Stelle sicher, dass Datei1 (Master.xls) und Datei2 (TempDatei) im gleichen Verzeichnis gespeichert sind.

  2. Füge einen Button hinzu. Gehe zu Entwicklertools > Einfügen > Button (Formularsteuerelement). Zeichne den Button auf das Arbeitsblatt von Datei1 und weise ihm ein Makro zu.

  3. Erstelle das VBA-Makro. Öffne den VBA-Editor mit ALT + F11 und füge den folgenden Code ein:

    Sub Aktualisieren()
        Dim wkb As Workbook
        Dim wkb1 As Workbook
        Dim wks As Worksheet
        Dim wks1 As Worksheet
        Dim rng As Range
        Dim iRow As Integer
        Dim i
        Application.ScreenUpdating = False
        On Error Resume Next
        Set wkb = Workbooks("Master.xls")
        Set wkb1 = ThisWorkbook
        wkb1.Activate
        Set wks = wkb.Worksheets("Tabelle1")
        Set wks1 = wkb1.Worksheets("Tabelle1")
        anz = wks.Cells(65536, 1).End(xlUp).Row
        anz1 = wks1.Cells(65536, 1).End(xlUp).Row
        For z = 2 To anz1
            suchwert = wks1.Cells(z, 1)
            With wks.Range("a2:a" & anz)
                Set c = .Find(suchwert, LookIn:=xlValues, LookAt:=xlWhole)
                If Not c Is Nothing Then
                    For s = 2 To 11
                        wks.Cells(c.Row, s) = wks1.Cells(z, s)
                    Next
                Else
                    For s = 1 To 11
                        wks.Cells(anz + 1, s) = wks1.Cells(z, s)
                    Next
                    anz = wks.Cells(65536, 1).End(xlUp).Row
                End If
            End With
        Next
        Application.ScreenUpdating = True
    End Sub
  4. Führe das Makro aus. Klicke auf den Button, um die Werte aus Datei2 in Datei1 zu übertragen, während du die Bedingungen beachtest.


Häufige Fehler und Lösungen

  • Fehlermeldung "Laufzeitfehler 424 - Objekt erforderlich": Stelle sicher, dass beide Dateien geöffnet sind und sich im gleichen Verzeichnis befinden. Überprüfe auch den Namen der Datei im VBA-Code.

  • Keine Daten werden übertragen: Überprüfe, ob die Projektnummern in Zelle A1 beider Dateien identisch sind. Wenn sie unterschiedlich sind, kann das Makro die Daten nicht finden.


Alternative Methoden

Falls du keine VBA-Lösungen nutzen möchtest, kannst du auch die Funktion SVERWEIS verwenden, um Werte zwischen zwei Dateien zu vergleichen. Dies erfordert jedoch, dass die Daten in einer bestimmten Struktur vorliegen.


Praktische Beispiele

Angenommen, du hast folgende Daten in deiner Datei1 (Master.xls):

A B C
Projektnr Wert1 Wert2
123 10 20
456 30 40

Und in Datei2 (TempDatei):

A B C
Projektnr Wert1 Wert2
123 15 25
789 50 60

Nach dem Ausführen des Makros wird Datei1 so aussehen:

A B C
Projektnr Wert1 Wert2
123 15 25
456 30 40
789 50 60

Tipps für Profis

  • Verwende Application.ScreenUpdating = False, um die Ausführungsgeschwindigkeit zu erhöhen, indem du das Bildschirm-Update während der Ausführung des Makros deaktivierst.

  • Teste den Code zuerst mit einer Testdatei, um sicherzustellen, dass alles nach deinen Wünschen funktioniert, bevor du es auf die endgültigen Daten anwendest.


FAQ: Häufige Fragen

1. Wie kann ich die Dateien vergleichen, wenn sie unterschiedliche Strukturen haben?
In diesem Fall musst du den VBA-Code anpassen, um die spezifischen Spalten und Zeilen zu berücksichtigen.

2. Kann ich das Makro auch für mehr als 2 Dateien verwenden?
Ja, du kannst den Code erweitern, um mehrere Dateien zu vergleichen. Du müsstest jedoch die Logik entsprechend anpassen, um die zusätzlichen Dateien zu berücksichtigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige