Hallo,
kann man analog zu „suchen“ und „finden“ Texte von rechts durchsuchen lassen?
Vielen Dank schonmal
Gruß
Karsten
Hallo,
kann man analog zu „suchen“ und „finden“ Texte von rechts durchsuchen lassen?
Vielen Dank schonmal
Gruß
Karsten
Hallo Karsten,
kann man analog zu „suchen“ und „finden“ Texte von rechts
durchsuchen lassen?
gesucht wird bei uns in der BRD immer von links. In arabischen Ländern wir imho von rechts gesucht, da dort auch von rechts geschrieben wird.
Du kannst allerdings Platzhalter für das Suchen verwenden. So werden auch rechte Textteile gefunden.
Unter Extras/Optionen/International/von rechts nach links kannst du die Ausrichtung entsprechend ändern.
Somit dürfte eine Suche auch erfolgreich sein.
Vielleicht beschreibst du mal genau, was du vorhast?
Grüße aus Essen
Wolfgang
Hallo,
und vielen Dank für die Antwort.
Vor habe ich folgendes:
Habe eine Tabelle mit Adressen.
Darin befinden sich Strassenname und Hausnummer und Hausnummerzusatz gesamt in einem Feld.
Ich möchte nun gerne den Strassennamen in ein eigenes Feld sowie Hausnummer und Hausnummerzusatz in ein weiteres Feld bekommen.
Strasse und Hausnummer sind in der Regel getrennt durch:
„LEERZEICHEN“ oder „.“
Hausnummer und Zusatz (z.B.12b) sind zusammengeschrieben und verursachen i.d.R. keine Probleme.
Da es jetzt aber viele Strassen gibt die mehrere Leerzeilen oder gar Punkte haben, müsste die Suche von rechts beginnen um von dort das 1. Suchzeichen zu finden.
Bsp.:
Kiepestr. 11b
St. Anton Platz 5
Auf dem Kampe 19c
…
Eine Alternative wäre noch die Möglichkeit nach Ascii-Werten zu suchen um Zahlen im String zu finden.
Leider hab ich dazu bisher auch keine Möglichkeit gefunden.
Soweit …
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
eine, wenn auch unhandliche, Möglichkeit: als Parameter für „erstes Zeichen“ Den Wert LÄNGE(Text)-[max. Anzahl Zeichen von Hausnummer und Zusatz+2] eintragen. Sollte in den meisten Fällen funktionieren. Dann wird erst ab kurz vor der Hausnummer gesucht.
(LÄNGE ist eine Excel-Funktion, der Term in [] muß von Dir passend gewählt werden.)
Gruß Kubi
Hi,
danke für die Antwort.
könnte wahrscheinlich eine Menge Strassen „erschlagen“.
Hatte beim 1. Durchlauf ähnlichen Gedanken habe allerdings das 1. Zeichen als festen Wert gesetzt und nicht variabel.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Karsten,
mit Hilfe von benutzerdefinierten Funktionen unter VBA kann man auch Texte beginnend von rechts durchsuchen und Textteile abtrennen. Bezogen auf dein Problem mit den Strassen und Hausnummer sähe die Lösung im Grundansatz so aus:
>
Function HausNr(StrasseNr As String) As String
' Abtrennen der rechten Zeichen bis zum gesuchten Zeichen als Hausnummer
Dim Text As String
HausNr = ""
Text = StrasseNr
Do
HausNr = Right(Text, 1) & HausNr
Text = Left(Text, Len(Text) - 1)
Select Case Right(Text, 1)
Case " ", "."
Exit Do
Case Else
If Len(Text) = 0 Then 'Zeichen sind nicht vorhanden
HausNr = ""
Exit Do
End If
End Select
Loop
End Function
Function Strasse(StrasseNr As String) As String
' Entfernen der rechten Zeichen mit der Hausnummer
Dim Text As String
Text = StrasseNr
Do
Text = Left(Text, Len(Text) - 1)
Select Case Right(Text, 1)
Case " ", "."
Strasse = Trim(Text)
Exit Do
Case Else
If Len(Text) = 0 Then 'Zeichen sind nicht vorhanden, keine Hausnummer
Strasse = StrasseNr
Exit Do
End If
End Select
Loop
End Function
Diese Funktionen kann man jetzt noch verfeinern, um z.B. zu prüfen, ob die abgetrennte Hausnummer tatsächlich eine Zahl enthält. In der Tabelle sieht das Ganze dann so aus:
A B C
7 Kiepestr. 11b Kiepestr. 11b
Benutzte Formeln:
B7: =Strasse(A7)
C7: =HausNr(A7)
Gruß
Franz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Karsten
Mit diesem VBA-Makro kannst du „alle Strassen erschlagen“.
Adresse in Spalte „A“, nachher Strasse in „A“, Nr in „B“
Es trennt dir die Strasse und die Nummer in zwei Spalten auf, falls die letzte Zeichengruppe mit einer Zahl beginnt.
Es trennt also „auf dem Hügel oben links 3xz“, jedoch nicht „am Bach unten im Schilf“, und nicht „am Berg xyz37“. Du kannst das noch beliebig verfeinern!
Sub Strasse\_Nummer\_Trennen()
Dim Str1$, Str2$, i%, Bereich As Range, Zelle As Range
Set Bereich = Range("A:A")
For Each Zelle In Bereich
'sobald leere Zelle kommt ist fertig
If IsEmpty(Zelle) Then Exit For
'String sichern, ohne Leerschläge vorn und hinten
Str1 = Trim(Zelle.Value)
'String zum Bearbeiten
Str2 = Str1
'Schleife zur Entfernung aller Leerzeichen
While InStr(Str2, " ") \> 0 ' es hat Leerzeichen
i = InStr(Str2, " ") ' an dieser Stelle ist das Leerzeichen
Str2 = Mid(Str2, i + 1) ' Schwanz nach dem Leerzeichen
Wend
'nur wenn das erste Zeichen im Schwanz eine Zahl ist
'andernfalls wird die Adresse nicht verändert
If IsNumeric(Left(Trim(Str2), 1)) Then
'Vorderer Teil der Adresse = Strasse eintragen
Zelle = Trim(Left(Str1, Len(Str1) - Len(Str2) - 1))
'letzter Teil der Adresse = eine Nummer eintragen
Zelle.Offset(0, 1) = Trim(Str2)
End If
Next
End Sub
Gruss
Erich
Hallo Reiner,
Habe eine Tabelle mit Adressen.
Darin befinden sich Strassenname und Hausnummer und
Hausnummerzusatz gesamt in einem Feld.
Ich möchte nun gerne den Strassennamen in ein eigenes Feld
sowie Hausnummer und Hausnummerzusatz in ein weiteres Feld
bekommen.
dafür gibt es VB/VBA, damit kannst du eine Funktion schreiben, die von hinten nach vorne das Feld durchläuft und dementsprechend die Aufteilung vornimmt.
Wenn du kein VB/VBA programmieren kannst, stelle eine neue Anfrage im Brett Visual Basic mit der Überschrift: Hausnummer aus Straße auslesen.
Grüße aus Essen
Wolfgang
Hallo,
und vielen Dank für alle Antworten - sie haben mir geholfen.