Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
400to404
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
400to404
400to404
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Listen abgleichen

Listen abgleichen
Bernhard
Hallo Forum,
auch wenn schon balt das WE kommt...eine Frage hätte ich da noch:
Es geht darum:
ich würde gerne zwei Listen möglichst einfach abgleichen:
In Spalte A steht die Artikelnummer, in Spalte B der dazugehörige Sachbearbeiter:
z.B ist das die Hauptliste
Artikel. .Sachbearbeiter
AB123. . .Klaus
AB124. . .Beate
AB125. . .Dirk
AB126. . .Anna
AB127. . .Anna
AB128. . .Dirk
AB129. . .Klaus
nun bekomm ich wöchentlich eine Liste, die Änderungen beinhaltet:
z.B.
Artikel. .Sachbearbeiter
AB123. . .Beate
AB128. . .Anna
wie Kann ich die Originalliste möglichst elegant mit den Änderungen abgleichen? Momentan mach ich armer Trottel das noch von Hand.. Gibts da keine Funktion?
Schön wenn jemand Rat weiss.
Vorab Vielen Dank,
Bernhard

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Listen abgleichen
ChrisL
Hi Bernhard
Makro in die Hauptliste einfügen. Makro Ausführen. Mappe2 öffnen. Fertig.
Artikel in Spalte A, SB in Spalte B, beginnend ab Zeile 2.
Option Explicit

Sub Import()
Dim WB1 As Workbook, WB2 As Workbook
Dim WS1 As Worksheet, WS2 As Worksheet
Dim iZeile As Long, LetzteZeile As Long, Zeile As Long
Set WB1 = ThisWorkbook
Set WS1 = WB1.Worksheets("Tabelle1")
Application.Dialogs(xlDialogOpen).Show
Application.ScreenUpdating = False
Set WB2 = ActiveWorkbook
Set WS2 = WB2.Worksheets(1)
For iZeile = 2 To WS2.Range("A65536").End(xlUp).Row
If WorksheetFunction.CountIf(WS1.Columns(1), WS2.Cells(iZeile, 1)) = 0 Then
LetzteZeile = WS1.Range("A65536").End(xlUp).Row + 1
WS1.Cells(LetzteZeile, 1) = WS2.Cells(iZeile, 1)
WS1.Cells(LetzteZeile, 2) = WS2.Cells(iZeile, 2)
Else
Zeile = WorksheetFunction.Match(WS2.Cells(iZeile, 1), WS1.Columns(1), 0)
WS1.Cells(Zeile, 2) = WS2.Cells(iZeile, 2)
End If
Next iZeile
WB2.Close
Application.ScreenUpdating = True
MsgBox "Import erfolgreich", vbInformation
End Sub

Gruss
Chris
Anzeige
Schluck, das ist komplex - aber Danke!
Bernhard
Hey klasse - ich werde das Programm am Wochenende mal antesten und versuchen durchzuschauen. Vielleicht klappts ja.
Ganz herzlichen Dank!
Bernahrd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige