Anzeige
Archiv - Navigation
520to524
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
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Doppelte Einträge finden + Zusatzinfos ergänzen

Doppelte Einträge finden + Zusatzinfos ergänzen
23.11.2004 16:32:29
Andi
Hallo!
Bin die ganze Zeit in VBA am versuchen, aber es klappt nicht.
Habe ein Skript ( https://www.herber.de/bbs/user/13824.xls ), welches doppelte Einträge aus "Tabelle1" (Stammliste) und "Tabelle2" (neu hinzugekommene Infos) sucht. Alle doppelten Einträge werden in "Tabelle2" fett markiert.
Nun kommt es aber auch vor, dass in den neuen Infos Zusatzinformationen (z.b. Geburtstag: 1980) stehen, die es in der Stammliste noch nicht gibt. Wie kann ich mein Skript so ergänzen, dass in Tabelelle1 bei "Nina Müller nina@..." auch "1980" dahintersteht und der neue Datensatz "Gerd Meyer gerd@... 1934" ans Ende von Tabelle1 gesetzt wird?!
Tabelle1 (Stammliste):
Heinz Müller heinz@... 1945
Nina Müller nina@...
Lisa Müller lisa@... 1944
Tabelle2 (neue Infos):
Gerd Meyer gerd@... 1934
Nina Müller nina@... 1980
VBA-Skript:

Sub doppelt()
Dim c As Range, SuBe As Range
Dim s As String
Dim laR1 As Long, laR2 As Long
laR1 = Sheets("Tabelle1").Cells(Rows.Count, 3).End(xlUp).Row
With Sheets("Tabelle2")
laR2 = .Cells(Rows.Count, 3).End(xlUp).Row
For Each c In .Range("C1:C" & laR2)
s = c.Text 'email
Set SuBe = Sheets("Tabelle1").Range("C1:C" & laR1). _
Find(s, lookat:=xlWhole)
If Not SuBe Is Nothing Then
.Range("A" & c.Row & ":C" & c.Row).Font.Bold = True
Set SuBe = Nothing
End If
Next c
End With
End Sub

Ganz vielen Dank!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Einträge finden + Zusatzinfos ergänzen
WernerB.
Hallo Andi,
wenn Du dem Ersteller dieses Makros keine Rückmeldung gibst - von "sich bedanken" will ich gar nicht erst reden - sind Deine Chancen auf einen Lösungsvorschlag in diesem Forum sehr gering ...
WernerB.
AW: Doppelte Einträge finden + Zusatzinfos ergänzen
24.11.2004 14:41:48
Andi
Hi!
War keine Absicht! Hatte es erst mit dem Skript von xule versucht und dein Skript zunächst übersehen (ich war gestern etwas durcheinander)... Dein Skript ist aber echt cool und damit lassen sich die doppelten Einträge finden! Danke! (wenn auch verspätet) ;-)
Hättest du denn evtl. ne Lösung für mein obiges Problem?
Viele Grüße
Andi
AW: Doppelte Einträge finden + Zusatzinfos ergänzen
WernerB.
Hallo Andi,
wie gefällt Dir das?

Sub doppelt()
Dim c As Range, SuBe As Range
Dim s As String
Dim laR1 As Long, laR2 As Long
With Sheets("Tabelle2")
laR2 = .Cells(Rows.Count, 3).End(xlUp).Row
.Range("A1:D" & laR2).Font.Bold = False
For Each c In .Range("C1:C" & laR2)
s = c.Text 'email
laR1 = Sheets("Tabelle1").Cells(Rows.Count, 3).End(xlUp).Row
Set SuBe = Sheets("Tabelle1").Range("C1:C" & laR1). _
Find(s, lookat:=xlWhole)
If Not SuBe Is Nothing Then
.Range("A" & c.Row & ":D" & c.Row).Font.Bold = True
SuBe.Offset(0, 1).Value = c.Offset(0, 1).Value
Set SuBe = Nothing
Else
Sheets("Tabelle1").Range("A" & laR1 + 1 & ":D" & laR1 + 1).Value = _
.Range("A" & c.Row & ":D" & c.Row).Value
End If
Next c
End With
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Doppelte Einträge finden + Zusatzinfos ergänzen
24.11.2004 15:51:59
Andi
Der Hammer! Es funktioniert! ;-) Danke!
Dafür hätte ich Jahre gebraucht...
Stand: es werden alle doppelten Einträge gefunden und fett markiert. Alle Zusatzinformationen werden in die alte Datenbank übernommen. Alle neuen Einträge werden in die Datenbank ans Ende geschrieben. Perfekt!
Vielleicht noch eine kleine zusätzliche Sache:
Wie kann ich nach dieser ganzen Prozedur zur Kontrolle mir jeden einzelnen doppelten Datensatz in einer Art "Messagebox" anzeigen lassen (oben steht der Eintrag aus der Datenbank mit Zusatzinformationen und darunter die neue Info)? Also sozusagen eine vergleichende Gegenüberstellung:
Datenbank: Nina Müller nina@... 1980 Hamburg
Neue Info: Nina Müller nina@... 1980

Wurde alles zur Zufriedenheit übernommen, dann drückt man und der Datensatz wird aus "Tabelle2" entfernt, ansonsten .
Hoffe, du verstehst was ich meine?!
Vielen Dank!
Andi
Anzeige
AW: Doppelte Einträge finden + Zusatzinfos ergänzen
WernerB.
Hallo Andi,
sind Deine anspruchsvollen anforderungen damit endgültig erfüllt?

Sub doppelt()
Dim c As Range, SuBe As Range
Dim s As String, t1A As String, t1B As String, t1C As String, t1D As String, _
t2A As String, t2B As String, t2C As String, t2D As String
Dim laR1 As Long, laR2 As Long, i As Long
Dim Ent As Byte
With Sheets("Tabelle2")
laR2 = .Cells(Rows.Count, 3).End(xlUp).Row
.Range("A1:D" & laR2).Font.Bold = False
For Each c In .Range("C1:C" & laR2)
s = c.Text 'email
laR1 = Sheets("Tabelle1").Cells(Rows.Count, 3).End(xlUp).Row
Set SuBe = Sheets("Tabelle1").Range("C1:C" & laR1). _
Find(s, lookat:=xlWhole)
If Not SuBe Is Nothing Then
.Range("A" & c.Row & ":D" & c.Row).Font.Bold = True
SuBe.Offset(0, 1).Value = c.Offset(0, 1).Value
Set SuBe = Nothing
Else
Sheets("Tabelle1").Range("A" & laR1 + 1 & ":D" & laR1 + 1).Value = _
.Range("A" & c.Row & ":D" & c.Row).Value
End If
Next c
laR1 = Sheets("Tabelle1").Cells(Rows.Count, 3).End(xlUp).Row
For i = laR2 To 1 Step -1
s = .Cells(i, 3).Text 'email
Set SuBe = Sheets("Tabelle1").Range("C1:C" & laR1). _
Find(s, lookat:=xlWhole)
If Not SuBe Is Nothing Then
t1A = SuBe.Offset(0, -2).Text
t1B = SuBe.Offset(0, -1).Text
t1C = SuBe.Text
t1D = SuBe.Offset(0, 1).Text
t2A = .Cells(i, 1).Text
t2B = .Cells(i, 2).Text
t2C = .Cells(i, 3).Text
t2D = .Cells(i, 4).Text
Set SuBe = Nothing
Ent = MsgBox("T1:  " & t1A & "  " & t1B & "  " & t1C & "  " & t1D & _
vbCr & "T2:  " & t2A & "  " & t2B & "  " & t2C & "  " & t2D, _
vbYesNoCancel + vbDefaultButton2 + vbQuestion, "Datensatz T2 löschen ?")
If Ent = 6 Then
Rows(i).Delete Shift:=xlUp
ElseIf Ent = 2 Then
MsgBox "Das Makro wird abgebrochen !", vbCritical, _
"Dezenter Hinweis für " & Application.UserName & ":"
Exit Sub
End If
End If
Next i
End With
End Sub

Gruß
WernerB.
Anzeige
AW: Doppelte Einträge finden + Zusatzinfos ergänzen
25.11.2004 08:31:49
Andi
Uuuuunglaublich! Wie machst du das nur?!
Also, nochmal ganz vielen Dank für die schnelle Hilfe!!!! ;-)

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige