VBA: Datenabgleich zwischen 2 Tabellen

21/03/2010 - 13:51 von Beck, Alwin | Report spam
Excel 2003

Hallo,
ich habe eine Exceldatei welche 2 Tabellen enthàlt :

Tabelle1: Hauptdatensàtze
Tabelle2: Ergànzungsdatensàtze

Die Datensàtze aus Tabelle2 sollen nun in die Tabelle1 integriert werden,
jedoch können diese dort bereits vorhanden sein. Das Schlüsselkriterium ist
die Kundennummer welche in Spalte A steht.

Es sollte nun ein Abgleich zwischen Tabelle1 und Tabelle2 erfolgen :

Ist ein Datensatz von Tabelle2 bereits in Tabelle1 enthalten, so sollte
in Tabelle2 dieser gekennzeichnet werden, in dem einfach in die Zeile
in Spalte B geschrieben wird "in Tabelle1 vorhanden".

Wie ist das möglich ?

Danke
Gruß
Albe
 

Lesen sie die antworten

#1 Hubert Scheidgen
21/03/2010 - 17:24 | Warnen spam
Beck, Alwin schrieb
Excel 2003
Hallo,
ich habe eine Exceldatei welche 2 Tabellen enthàlt :
Tabelle1: Hauptdatensàtze
Tabelle2: Ergànzungsdatensàtze
Die Datensàtze aus Tabelle2 sollen nun in die Tabelle1 integriert werden,
jedoch können diese dort bereits vorhanden sein. Das Schlüsselkriterium ist
die Kundennummer welche in Spalte A steht.
Es sollte nun ein Abgleich zwischen Tabelle1 und Tabelle2 erfolgen :
Ist ein Datensatz von Tabelle2 bereits in Tabelle1 enthalten, so sollte
in Tabelle2 dieser gekennzeichnet werden, in dem einfach in die Zeile
in Spalte B geschrieben wird "in Tabelle1 vorhanden".
Wie ist das möglich ?



Hallo Alwin

Das hier geht. Das ist die einfachste Form. Natürlich kann man das Makro
noch verfeinern. Mit Screen ausschalten und mit With und so weiter.
Doch das hier ist sicher leicht verstàndlich und muss nur noch geringfügig
angepasst werden.

Sub Abgleich()
Dim Zeile
Dim Kundennummer
Dim gefundeneAdresse As Range

Zeile = 2

Do Until Application.Workbooks("Mappe3").Worksheets(2) _
.Cells(Zeile, 1).Value = ""

Kundennummer = Application.Workbooks("Mappe3").Worksheets(2).Cells(Zeile, 1).Value
Set gefundeneAdresse = Application.Workbooks("Mappe3").Worksheets(1) _
.Range("A:A").Find(Kundennummer, lookat:=xlPart, LookIn:=xlValues)

If Not gefundeneAdresse Is Nothing Then
Application.Workbooks("Mappe3").Worksheets(2) _
.Cells(Zeile, 2).Value = "in Tabelle1 vorhanden"
End If

Zeile = Zeile + 1

Loop

End Sub

Versuchs mal

Gruß
Hubert
http://www.scheidgen.de/excel

Ähnliche fragen