Clever-Excel-Forum

Normale Version: Zusammenlegung Kundenlisten inkl. Datenabgleich
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo liebe Excel Experten,

vielleicht kann man mir ja jemand helfen. Ich habe schon verzweifelt bei Google versucht eine Lösung für mein Problem zu finden aber bin nicht weiter gekommen.

Hier die Problemstellung:

Für mein eigenes kleines Unternehmen verwalte ich die Kundendaten selbst.

Meine gesamte Kundenliste ist in Excel erfasst (Name, Anschrift, Geburtsdatum, Art der Vertragsbeziehung, Hinweise).

Da ich mit einem Online basierten System meines Auftragsgebers arbeite, und dort alle Kundendaten hinterlegt sind (unübersichtlich und nicht als Gesamtliste) muss ich mir diese Mithilfe von Excel auf den Rechner herunterladen.

Jetzt zum eigentlichen Problem:

Wenn ich meine Excel Liste pflege, z.B. bei dem Kunden Herrn Müller als Hinweis vermerke das er mit dem Produkt sehr zufrieden war dient das für mich als Hilfestellung für die zukünftige Arbeit. Zusätzlich sind einige Kunden farbig markiert (z.B. die Kunden mit denen ich keinen persönlichen Kontakt bisher hatte).

Diese Hinweise, Vermerke und Markierungen kann ich nicht in das System des Auftragsgebers importieren. Im System des Auftragsgebers können sich allerdings parallel auch Änderungen bei den Kunden ergeben.

Das heißt ich stehe regelmäßig vor der Aufgabe meine eigene Excelliste mit ca. 3000 Kundendaten (mit meinen Vermerken und Markierungen) mit der Excelliste des Auftragsgebers (keine Markierungen aber ggf. neue Kundenandressen) abzugleichen. Hierfür kopiere ich in mühesamer Arbeit die Vermerke aus der alten Liste in die neue Liste. Das kostet mich immer wieder ca. zwei ganze Arbeitstage.



Als Beispiel:

Liste 1 von mir:


Name        | Straße            | PLZ           | Ort      | Telefon       | Kundennummer     | Hinweis
Max Müller | Müllerstraße 5 | 123456     |Köln     | 123456      | 1234                      | Kunde wünscht Kontakt im Mai
Gerda Müller | Müllerstr. 1   | 1356        |Köln      | 1567890     | 2346                     | Kundin war sehr zufrieden

Liste 2 des Auftragsgebers:

Name        | Straße            | PLZ           | Ort      | Telefon       | Kundennummer     | Hinweis
Max Müller | Müllerstraße 5 | 123456     |Köln     | 123456      | 1234                      |
Max Neu   | Neugasse 1     | 123456     | Neuss  | 23445        | 45677                    |
Gerda Müller | Müllerstr. 1   | 1356        |Köln      | 1567890     | 2346                     |

gewünschtes Ergebnis


Name        | Straße            | PLZ           | Ort      | Telefon       | Kundennummer     | Hinweis

Max Müller | Müllerstraße 5 | 123456     |Köln     | 123456      | 1234                      | Kunde wünscht Kontakt im Mai
Max Neu   | Neugasse 1     | 123456     | Neuss  | 23445        | 45677                    |

Gerda Müller | Müllerstr. 1   | 1356        |Köln      | 1567890     | 2346                     | Kundin war sehr zufrieden


Ich hoffe ihr versteht so was ich erreichen will. Die beiden Listen sollen abgelichen werden und zusammengelegt. Z.b. soll der Hinweis von Zeile 1 Max Müller (Kunde wünscht Kontakt...) in die neue Liste übernommen werden. Die Kunden die in Liste 2 neu sind sollen aber auch in der neuen Liste bleiben. Nur die alten Datensätze, Vermerke und wenn möglich auch die farbigen Markierungen sollen in die neue Liste überschrieben werden.


Ich habe große Hoffnung das hier ein Fachmann mir bei meinem Problem helfen kann.

Vielen Dank im Voraus

Liebe Grüße Georg
Hallo Georg,

mit den Code werden die neuen Datensätze ans Ende deiner Liste geschrieben, falls eine Sortierung gewünscht ist, geht das über das Menü.


Code:
Sub Fen()
Dim Kn As Object
Set Kn = CreateObject("Scripting.Dictionary")
With Sheets("eigene DB")
   Db = .Cells(1).CurrentRegion
   lr = UBound(Db) + 1
   For i = 2 To UBound(Db)
       y = Kn.Item(Db(i, 6))
   Next i
   AG = Sheets("Auftraggeber").Cells(1).CurrentRegion
   For i = 2 To UBound(AG)
       If Not Kn.exists(AG(i, 6)) Then
           .Cells(lr, "A").Resize(, 6) = Application.Index(AG, i, 0)
           lr = lr + 1
       End If
   Next
End With
End Sub


mfg
Hallo Fennek,

erst mal wow und vielen dank. Für mich als Laien ist das unverständlich wie man so fix einfach so einen Code parat haben kann.

Da ich wie gesagt ein unwissender Laie bin weiß ich leider nicht wie ich den Code jetzt einsetzten kann. Muss ich diesen bei der "alten" Liste die ich pflege einfügen und wie mach ich dann weiter?

vielen vielen Dank im Voraus!

Ich habe auch mal versucht die Datensätze in die Datei zu kopieren aber dann passiert einfach nichts. Vielleicht liegt es auch daran das meine eigentlichen datensätze ein paar mehr Spalten i nder Breite enthalten wie zum Beispiel gekauftes Produkt etc.?!
Hallo,

es ist leichter den Code zu schreiben, als jeden Click zu erklären.

Da mehr Spalten vorliegen, muss der Code an einer Stelle geändert werden:

Anstelle:


Code:
.Cells(lr, "A").Resize(, 6) = Application.Index(AG, i, 0)


muss die Anzahl der Spalten variabel sein:


Code:
.Cells(lr, "A").Resize(, Ubound(AG,2)) = Application.Index(AG, i, 0) 'ungetestet


Zum Ausführung: es sollte reichen die Daten des Auftragsgebers in Sheets(2) zu kopieren und dann in Menü "Ansicht -> Makros" den Makro "Fen" zu starten.

mfg
ok super danke ichg versuche es später und hoffe das es klappt.

Vielen dank und ein schönes Wochenende vorab
Hallo, hat leider garnicht funktioniert. Er hängt zwar die Daten hintendran aber hat die Dupletten nicht rausgestrichen. Somit hab ich nicht mehr erreicht als mir einmal alles copy-paste mäßig einzufügen.

Ich habe mal die Liste mit allen Überpunkten eingefügt.

Eventuell kann mir jemand der super lieb ist ;;) mir das Makro einfügen. Dann kann ein dödeliger Laie wie ich einfach die Kundendaten reinkopieren und alles ist gut ;)

Vielen Dank
Hallo,

zuerst: ich muss gleich weg und der Pc ist schon "down". Ich habe den Code mit Lo eingefügt und keine Ahnung, ob das geht.

Am späteren Nachmittag habe ich wieder Zeit, bis dann kannst du noch ein paar Fehlermeldungen berichten.

mfg
Hallo, ehrlich gesagt ist garnichts passiert. Das Makro ist irgendwie garnicht verfügbar
(12.05.2017, 11:47)Georg B schrieb: [ -> ]Hallo, ehrlich gesagt ist garnichts passiert. Das Makro ist irgendwie garnicht verfügbar

Hallo, die Datei enthält ja nur Überschriften und keinen VBA-Code... ... da kann auch nix passieren..!!!!
wie gesagt bin ein unwissender laie ;(
Seiten: 1 2