Im Anhang findet ihr eine Kundendatenbank. Diese verwende ich, um Adresse, Telefonnummer etc. einzutragen. Nun bekomme ich von einem unserer Partner die Kundendaten in folgender (Text)Form:
Ist es möglich, ein Makro oder so (am besten oben angeordnet wie die 2 bestehenden) zu erstellen, das eine Eingabemaske öffnet in der ich die Daten als gesamtes einfügen kann und sie nachher als gesamtes auf die nächste freie Linie geschrieben werden (in die richtigen Felder)? Bei der Telefonnummer müsste das Makro noch folgende Anpassung machen: Von +41797778899 auf +41 79 777 88 99 (also Abstände einfügen)
Es wäre seeehr toll wenn das jemand hinkriegen könnte, da es mir täglich sicher 30 Minuten Arbeit sparen würde...
Moin! Du solltest den Kunden bitten, Adressdaten per .csv zu schicken. Dann ist der Import überhaupt kein Problem! Außerdem dürfte dies gängige Praxis sein.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Das ist leider nicht möglich, wir erhalten die Daten über eine grosse Vermittlungsplattform welche uns die Informationen standardisiert per E-Mail in der oben beschriebenen Form zukommen lässt.
Es wäre wirklich genial wenn das irgendwie klappen würde. Danke auch Dir Fennek fürs rumtüfteln
wenn daran nichts geaendert werden kann git der alte Praktiker Spruch: "was nicht passt - wird passend gemacht!"
Anbei deine Beisoieldatei mit einer Makro Lösung zurück. Die Daten einfach ins Eingabeblatt kopieren, aufbereiten, und in die Kundendatenbank kopieren. Beim Aufbereiten bitte prüfen ob der Name richtig zerlegt wurde, denn mein Makro kann bei mehreren Vornamen oder Doppel Namen mit "-" nicht erlkennen wie er richtig lauten soll. Zuviel Arbeit!
Ich hoffe das die angebotene Lösung in der Praxis weiter hilft. Bitte zuerst in der Beispieldatei testen ob es klappt.
mir ist nachher eingefallen das im Code -Daten aufbereiten- die Anweisung "alte Daten löschen" fehlt. Ebenso habe ich den Befehl InStr() durch InStrRev() ersetzt. Damit erfasst der neue :Code auch 2-3 Vornamen. Nur wenn weitere Angaben wie "Dr." oder Adelstitel wie "von" davor stehen kann das Makro den String nicht korrekt zerlegen. Würde mich freuen wenn ich weiterhelfen konnte.
Es gibt auch noch andere Lösungen, die habe ich aber nicht getestet.
mfg Gast 123
Code:
Sub Daten_aufbereiten() Dim Ort, PLZ, Tel Dim FName, VName, Txt Dim Tx1, Tx2, Tx3, Tx4, Tx5 With Worksheets("Eingabe") 'alte Daten löschen .Range("C1:D7").ClearContents
'PLZ % Ort in String zerlegen Ort = .Cells(5, 2).Value 'PLZ + Ort Tel = .Cells(6, 2).Value 'Telefon PLZ = Left(Ort, 5): VName = "" Ort = Right(Ort, Len(Ort) - 5)
'Name in String zerlegen Txt = .Cells(3, 2).Value 'Vorname, Nachname If InStrRev(Txt, " ") Then VName = Left(Txt, InStrRev(Txt, " ")) FName = Right(Txt, Len(Txt) - Len(VName))