Office - Word, Excel und Co. 9.753 Themen, 41.598 Beiträge

Inhalt einer Zelle muss in mehrere Variablen eingeordnet werden

Tomkat / 5 Antworten / Baumansicht Nickles

Hallo!


Ich arbeite zur Zeit an einem Makro, welches für mich die Straßennamen von Kontaktadressen in das richtige Format bringen soll, da diese oft falsch geschrieben sind. Einfach per Suchfunktion ist dies leider nicht möglich, da einige der Straßen eine Hausnummer haben, dann "Musterstr. xy" als format haben sollen, und diejenigen ohne Hausnummer "Musterstraße xy" ..


Mein Konzept:
Der Inhalt einer Zelle soll erst auf die Zeichenfolge "str" dann falls diese vorkommt auf die Zeichenfolge "." ODER "aße" ODER asse" untersuchen (oder beim untersuchen von mir aus auch str./straße/strasse); trifft dies zu, muss die Zelle in mehrere Variablen unterteilt werden:


[stamm][Bed1][Bed2][LS][HSNR]
bed1 und bed2 sind hier die zeichenfolgen "str" und "./aße/asse" (je nachdem) ... also zum Beispiel soll Musterstrasse 24 dann in variablenform so unterteilt sein:


[Muster][str][asse][ ][24]


Die Stammvariable hat wegen des Vergleichs mit anderen Straßen (doppeleinträge müssen untersucht werden, und dort sind die straßen oft in 2 verschiedenen formaten geschrieben - und es muss auf ein richtiges format gebracht werden) ihre daseinsberechtigung ;)


weitgehend halte ich das ganze für technisch möglich, aber weiß noch nicht wie =)
die leerstelle vor der zahl muss auch nicht unbedingt in ne variable kommen (geht das überhaupt? ich mein, falls mal ein eintrag ohne leerstelle kommt...oder einträge wie "theodor heuss strasse"), die leerstelle vor der hausnummer kann ich ja auch später noch setzen...
der nächste knackpunkt wären sonderfälle in der hausnummer...wie 25A oder 23-25 .. da wäre meine erste idee bisher dass excel sucht wann die erste ziffer vorkommt und dann alles davor wegschneidet für die variable...möglich? wie? =D


Vielen Dank schonmal!!


Greets
DaN

bei Antwort benachrichtigen
-=[AsH]=- Tomkat „Inhalt einer Zelle muss in mehrere Variablen eingeordnet werden“
Optionen

Nicht jede Straße hat ein -straße, -strasse oder -str. hinten. Blablabla-WEG oder ganz komische Namen gibt es auch.
Die einzigste Möglichkeit wäre ja die Zahl herauszufiltern und alles andere zu belassen.

MfG AsH

MfG AsH
bei Antwort benachrichtigen
Tomkat Nachtrag zu: „Inhalt einer Zelle muss in mehrere Variablen eingeordnet werden“
Optionen

Hey Ash,

ja, das habe ich vergessen zu schreiben ... natürlich plane ich 2 verschiedene Routinen, erst wird gesucht ob "str." (oder entsprechend) überhaupt vorkommt, und nur falls dem so ist die oben beschriebene routine durchgeführt...bei allen anderen, die "weg" blabla heißen werden dann nur die Zahlen am Ende abgeglichen...also falls beim Doppeleintrag einmal "musterweg" und einmal "musterweg 24" stehen ist idR "musterweg 24" richtig und wird dann übernommen...muss aber trotzdem die zahlen prüfen für den fall dass "musterweg 24" und "musterweg 25", dann muss das ganze teil aussortiert werden damit der user entscheiden kann welches der beiden richtig ist. Dort wird das Variablenformat auch nur [Stamm][ ][Zahl] sein ... denke ich =)

bei Antwort benachrichtigen
Borlander Tomkat „Hey Ash, ja, das habe ich vergessen zu schreiben ... natürlich plane ich 2...“
Optionen

Warum machst Du das ganze eigentlich mit einem Macro? Das sollte sich auch mit Tabellenfunktionen bewerstelligen lassen...

bei Antwort benachrichtigen
Tomkat Nachtrag zu: „Inhalt einer Zelle muss in mehrere Variablen eingeordnet werden“
Optionen

Hier mal der Link zu einer Beispieltabelle in der fast alle probleme abgedeckt sind (lediglich die härtefälle wie "24-26" oder "26a" hab ich da vergessen glaub ich)
http://www.wiwimainz-forum.de/wbboard/attachment.php?attachmentid=202&sid=
Da kann man dann auch das Gesamtproblem erblicken - ich muss Doppeleinträge mit verschiedenen Eigenschaften zu einem Eintrag mit allen Eigenschaften zusammenfassen..


@Borlander:
Naja die Tabelle hat 11.000 Einträge, daher dachte ich mir dass ein Makro besser wäre ... außerdem wüsste ich leider nicht mit welchen Excel-Funktionen...

bei Antwort benachrichtigen
Borlander Tomkat „Hier mal der Link zu einer Beispieltabelle in der fast alle probleme abgedeckt...“
Optionen
die Tabelle hat 11.000 Einträge, daher dachte ich mir dass ein Makro besser wäre
Bei 11K Einträgen wäre eine Datenbank besser...

außerdem wüsste ich leider nicht mit welchen Excel-Funktionen
Die Textfunktionen sollten dafür reichen, Du musst schließlich nicht viel mehr machen als Zeichenfolgen suchen und TeilStrings zurückgeben. Ich behaupte einfach mal das geht mit Tabellenfunktionen deutlich schneller als ein Makro zu schreiben, zumal die VBA-Dokumentation IMHO wirklich schlecht ist...


Gruß
Borlander
bei Antwort benachrichtigen