Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1680to1684
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vergleichen 2 Dateien mittels VBA

Vergleichen 2 Dateien mittels VBA
22.03.2019 15:22:10
Memo
Hallo zusammen,
habe erneut eine Frage bzgl. VBA.
Folgender Sachverhalt.
Habe 2 separate Excel Dateien. Datei_Neu und Datei_ALT
In der Datei_Neu sind Artikelnummern die wiederum auch in der Datei_Alt vorkommen jedoch mit Bemerkungen.
Diese Bemerkungen möchte ich zu den jweiligen Artikelnummern in der Datei_Neu als Nebenspalte zuordnen.
Wenn Artikelnummern in der Datei_Alt nicht vorhanden sind in der DAtei_Neu dann diese aber dennoch in Datei_Neu als nächste leere Zeile einfügen und Gelb füllen, sodass man es beim ersten Anblick sieht dass neue Artikelnummer.
Die ganze Prozedur soll bis Zeile 2000 gehen.
Ich habe mich mit SVERWEIS zu tode gequält aber irgendwie bekomme ich das nicht hin.
Kann mir da jmd behilflich sein wie ich das am effektivsten mit VBA hinbekomme ohne diesen horror Umweg mit Sverweis zu gehen?
Habe beide DAteien zur einfachen Verständigung hochgeladen.
https://www.herber.de/bbs/user/128604.xlsx
Danke für eure Unterstützung.
VG
Memo

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleichen 2 Dateien mittels VBA
22.03.2019 19:09:01
AlterDresdner
Hallo Memo,
das sollte wohl das Richtige tun:
Sub Vergleichen()
Dim Alt As Object, Neu As Object, found As Object
Dim EndNeu As Long, zeile As Long
Dim MatNo As String
Set Alt = ThisWorkbook.Sheets("Blatt_DateiAlt")
Set Neu = ThisWorkbook.Sheets("Blatt_DateiNeu")
With Neu
EndNeu = .Cells(Rows.Count, 13).End(xlUp).Row + 1
For zeile = 2 To Alt.Cells(Rows.Count, 5).End(xlUp).Row
MatNo = Alt.Cells(zeile, 5)
Set found = .Range("M:M").Find(what:=MatNo, lookat:=xlWhole)
If found Is Nothing Then 'noch nicht in Neu
.Cells(EndNeu, 13) = MatNo
.Cells(EndNeu, 14) = Alt.Cells(zeile, 11) 'Bemerkung
.Cells(EndNeu, 13).Interior.Color = 65535 'Gelb
EndNeu = EndNeu + 1
Else
.Cells(found.Row, 14) = Alt.Cells(zeile, 11) 'Bemerkung übernehmen
End If
Next zeile
End With
End Sub

Gruß der AlteDresdner
Anzeige
AW: Vergleichen 2 Dateien mittels VBA
23.03.2019 22:12:15
Christian
Hallo Altdresdener,
ich bin selbst eher VBA Unwissender, aber ich verstehe Memos Anfrage so als ginge es um 2 verschiedene Dateien, er hat sie bloß zwecks Beispiel zu einer zusammengefasst.
Dein Makro verstehe ich so, als geht es von einer Datei mit 2 Blättern aus.
Gruß
Christian
AW: Vergleichen 2 Dateien mittels VBA
25.03.2019 09:21:50
Memo
Hi AlteDresdner,
besten Dank für die prompte Lösung.
Es funktioniert tadellos.
Es sind jedoch 2 verschiedene Dateien, die ich aufgrund der Größe in eine Datei zusammengefasst habe.
Welche Zeile im Code muss ich so abändern, sodass er auf die Datei_Alt zugreifen soll, sowie auf ein bestimmtes Arbeitsblatt in dieser Datei_Alt, nennen wir es Datei_Alt_Arbeitsblatt (kann ich ja im Code nachträglich noch ändern).
Also die Datei_Neu ist immer geöffnet. Sprich er muss nur noch die Datei_Alt öffnen, auf Arbeitsblatt Datei_Alt_Arbeitsblatt zugreifen und..der Rest bleibt nachwievor.
Danke + Gruß
Memo
Anzeige
AW: Vergleichen 2 Dateien mittels VBA
25.03.2019 12:48:22
Daniel
Hi - ersetze mal die Set Alt Zeile hiermit:
  Set Alt = Workbooks.Open(Application.GetOpenFilename()).Sheets("Blatt_DateiAlt")
Gruß
Daniel
AW: Vergleichen 2 Dateien mittels VBA
27.03.2019 11:42:06
Memo
Hey Daniel,
super Danke für dein Tipp, funktioniert flüssig.
VG
Memo

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige