Adressenimport

Hallo Listenteilnehmer,

ich habe von einer Web-Site Adressdaten mittels -Strg+c- und danach mit -Strg+v- in eine RT Text Komponente kopiert. Die Adressdaten sind leider alle untereinander aufgelistet und nicht fortlaufend pro Zeile geschrieben. Ein Komma oder Semikolon als Feldtrenner ist nicht vorhanden. Ein Import in ein RT-Rechenblatt brachte nicht den gewünschten Erfolg. Die Daten stehen sauber alle in Spalte „A“. Zwischen den einzelnen Adressblöcken sind immer zwei Leerzeilen.
Beispiel:
Zelle A1 Name
Zelle A2 Zusatz
Zelle A3 Straße
Zelle A4 Plz
Zelle A5 Ort
Zelle A6 Telefon
Zelle A7 Fax
Zelle A8 Web
Zelle A9 email
Zelle A10 Leerzeile kein Eintrag
Zelle A11 Leerzeile kein Eintrag
Zelle A12 Name
Zelle A13 Zusatz
usw bis Zelle A 4606

Wie kann man die Daten so Sortieren, dass sie ordentlich nach rechts nebeneinander gestellt werden.
Spalte A= Name, Spalte B=Zusatz usw.?
Im RT-Buch von Thomas Kaegi habe ich auf den Seiten 83-87 ein Beispiel für Adressenimport gefunden, kann diese aber nicht für meinen Fall so umsetzen.

Herzlichen Dank im voraus und allen Teilnehmern im Forum
einen guten Rutsch ins neue Jahr 2008.

Klaus

Re: Adressenimport

#7297 On 29 Dezember, 2007 10:30 Klaus Liebnow said,

Hallo Hans, hallo Thomas,

Danke für Eure schnellen Antworten.
Beide Tipps haben mir sehr geholfen.
Bei beiden Versionen musste ich ca. 25 von 405 Datensätzen von „Hand“ nachbearbeiten.
Bei dem ersten Tipp von Thomas um 11:11
funktionierte die Formeleingabe nicht. Der Mauszeiger blickte beim Zeichen "kleiner8".
Die zweite Formel von Thomas
VSuchlauf(A:A;1;0;SetzeZelle(LfdZelle;R Ziel!$A:$K;Ganzzahl((LfdIndex-1)/11)+1;Rest(LfdIndex-1;11)+1))
funktionierte sofort.

Beste Grüsse
Klaus

Re: Adressenimport

#7298 On 29 Dezember, 2007 11:22 Thomas Kaegi said,

> Bei dem ersten Tipp von Thomas um 11:11 funktionierte die Formeleingabe nicht. Der Mauszeiger blinkte beim Zeichen "kleiner8".

Das ist mir unverständlich, denn ich hatte die Formel getestet und mit Copy/Paste in die Antwort übertragen. Und wenn ich jetzt das umgekehrte mache, so funktioniert sie ebenso. Da scheinst du irgend ewas bei der Formelübertragung verfälscht zu haben, oder die Zeichencodierung weicht auf deinem Rechner ab und spielt dir einen Streich. Übrigens war die Bedingung "≤8", also "kleinergleich8".

Bei der Übertragung deines Beitrags aus dem Forum in die Mailingliste wurde ein Teil deiner Meldung (beginnend mit dem ersten Anführungszeichen im oben zitierten Text) aus für mich nicht nachvollziehbaren Gründen "verschluckt", vielleicht auch das aufgrund abweichender Zeichencodierung.

Gruss
Thomas

Re: Adressenimport

#7293 On 28 Dezember, 2007 11:11 Thomas Kaegi said,

Hallo Klaus

Nennen wir das Rechenblatt, in welches du die Adressen importiert hast "R Quelle" und definieren wir ein zweites Rechenblatt "R Ziel". In "R Quelle" sind also alle Adressen in der von dir angegebenen Form in Spalte A enthalten. Dann setze in irgend eine Zelle im Rechenblatt "R Quelle", z.B. in Zelle B1, folgende Formel:

VSuchlauf(A:A;Rest(LfdIndex-1;11)≤8;0;SetzeZelle(LfdZelle;R Ziel!$A:$I;Ganzzahl(LfdIndex/11)+1;Rest(LfdIndex;11)))

Diese Formel sucht die Adressen ab, behandelt aber dank der Bedingung nur die Zeilen, welche Adresselemente enthalten. Jede "Adress-Zelle" aus Spalte A wird dann in das zweite Rechenblatt übertragen, immer 9 Elemente in die gleiche Zeile. Das sollte den Job erledigen. - Eigentlich wollte ich in der Bedingung statt "≤8" "kleiner9" schreiben, weil das klarer verständlich wäre, da jede Adresse aus 9 Elementen besteht. Aber bei dieser Schreibweise wird meine Antwort im Forum ab dem "Kleiner-Zeichen" "verschluckt".

Mit freundlichem Gruss
Thomas

Re: Adressenimport

#7294 On 28 Dezember, 2007 11:41 Thomas Kaegi said,

PS: Du kannst die Formel auch so schreiben:

VSuchlauf(A:A;1;0;SetzeZelle(LfdZelle;R Ziel!$A:$K;Ganzzahl((LfdIndex-1)/11)+1;Rest(LfdIndex-1;11)+1))

Damit werden die leeren Zeilen in die Spalten J und K geschrieben. Natürlich könnte man den Suchlauf auch noch durch eine Abbruchbedingung für den Suchlauf ergänzen. Die könnte (für beide Formeln) so aussehen:

Und(Rest(LfdIndex;11)=1;IstLeer(LfdZelle))

Damit würde der Suchlauf abgebrochen, sobald eine Namenszelle leer ist.

T

Re: Adressenimport

#7291 On 28 Dezember, 2007 10:53 HansLohmann said,

Folgendes Vorgehen würde ich vorschlagen:

(1) Spalte A des Rechenblatts markieren, kopieren und den Inhalt in eine Textkomponente einsetzen.

(2) In der Textkomponente mit "Suchen&Ersetzen" alle Vorkommen der Zeichenfolge "^a^a^a" durch "^n" ersetzen.

(3) In der Textkomponente mit "Suchen&Ersetzen" alle Vorkommen der Zeichenfolge "^a" durch "^t" ersetzen.

(4) In der Textkomponente mit "Suchen&Ersetzen" alle Vorkommen der Zeichenfolge "^n" durch "^a" ersetzen.

(5) Inhalt der Textkomponente komplett auswählen, kopieren und Inhalt in neue Rechenblattkomponente einsetzen.

Viel Erfolg!

Hans