Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Straßenname aus Liste finden und alternativen anzeigen

Forumthread: Straßenname aus Liste finden und alternativen anzeigen

Straßenname aus Liste finden und alternativen anzeigen
01.12.2019 21:52:03
Sonja
Guten Abend
Ich habe folgende Situation
Wenn man in dem Grünen Feld beginnt den Strassennamen einzugeben wird der passenden gefunden.
Aber das funktioniert nur von Beginn an.
Wenn ich Bach eingebe wird Bachstraße angezeigt.
Es soll aber so sein das alle passende Alternativen angezeigt werden und man dann die Auswahl hat.
In dem Fall soll bei der Eingabe von "Bach" die "Bachstraße" und die "Alte Bachstraße" zur Auswahl stehen.
Oder bei "Müller" soll "Hubert-Müller-Weg" und "Oscar-Müller-Straße" zur Auswahl stehen.
Der Ausgewählte Straßenname soll dann in die Zelle "Strasse_Eingabe" eingetragen werden
Kann mir jemand dabei helfen?
Hier die Demo Datei
https://www.herber.de/bbs/user/133522.zip
Liebe Grüße Sonja
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Trefferliste
01.12.2019 23:01:27
WF
Hi,
mit Deiner Demo-Datei kann man nichts anfangen.
Angenommen, in Spalte A von A1 bis A? stehen jede Menge Straßennamen.
In C1 steht Dein Suchbegriff.
In C2 dann folgende Arrayformel:
{=WENNFEHLER(INDEX(A:A;KKLEINSTE(WENN(ISTZAHL(SUCHEN(C$1;A$1:A$999));ZEILE(X$1:X$99));ZEILE(X1)));"") }
runterkopieren
Es werden alle Straßen aufgelistet, in denen der Suchbegriff irgendwo vorkommt.
WF
Anzeige
AW: Trefferliste
01.12.2019 23:13:00
Sonja
Beide Dateien müssen im Ordner
D:/Auftrag/
liegen .. dann funktioniert die Demo Datei
AW: Trefferliste
05.12.2019 11:57:42
Piet
Hallo
ich habe nicht die ursprüngliche Lösung per Text Datei, aber dafür ein die funktioniert.
Voraussetzung ist, die Strassen stehen alle in der Tabelle "Strassen", in der gleichen Mappe.
Dann reicht ein simpler Suchlauf aus, um alle Varianten zu finden. Ich hoffe es gefaellt ....
https://www.herber.de/bbs/user/133617.xls
mfg Piet
Anzeige
AW: Trefferliste
05.12.2019 16:55:21
Hajo_Zi
Hallo Piet,
lasse den Fragesteller entscheiden ob offen.
Es ist heute nicht mehr üblich eine Rückmeldung zu geben und so ist der Beitrag über 6 Tage offen.
Das ist nur meine Meinung zu dem Thema.

Eingabe in ComboBox und nach Enter neu Füllen
05.12.2019 20:06:13
Sonja
Hallo Piet,
vielen Dank für deine Hilfe.
Es muss keine Text Datei es. So war es nur bissher.
So funktioniert es ganz gut. Ist es möglich dass man in die ComboBox den Teil des Strassennamens eingibt und wenn man Enter drückt wird die Combobox mit den Treffern gefüllt.
Liebe Grüße Sonja
@ Hajo_Zi ... auf was hätte ich eine Rückmeldung geben sollen? Es hat ja keiner was geschrieben !!
Anzeige
AW: Eingabe in ComboBox und nach Enter neu Füllen
06.12.2019 21:07:00
Piet
Hallo Sonja
ich habe mehrfach versucht es direkt über die ComboBox zu programmieren, klappt leider nicht. Ich finde keinen Zugriff auf das Eingabefeld! Man kann nur die Werte aus der Boxliste auslesen. Alternativ kann man die gefundenen Strassen auch eine Zeile unter B10 auflisten, und ganz auf die ComboBox verzichten.
mfg Piet

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rFind As Range, Adr1 As String
Dim SuName As String, z As Integer
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Target.Address  "$B$10" Then Exit Sub
With Worksheets("Strassen")
On Error GoTo Fin
SuName = LCase(Target)   'Kleinschrift suchen
z = Worksheets(1).Cells(1000, 2).End(xlUp).Row + 1
Worksheets(1).Range("B11:B" & z).ClearContents
Set rFind = .Columns(1).Find(What:=SuName, After:=.Range("A1"), LookIn:= _
xlFormulas, LookAt:=xlPart, SearchDirection:=xlNext, MatchCase:=False)
If rFind Is Nothing Then MsgBox Target & "  -  keine Strasse gefunden!": Exit Sub
If Not rFind Is Nothing Then
Adr1 = rFind.Address: z = 0
Do
z = z + 1
Worksheets(1).Range("B10").Offset(z, 0) = rFind.Value
Set rFind = .Columns(1).FindNext(rFind)
Loop Until rFind.Address = Adr1
End If
Fin: Target.Select
End With
End Sub

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Straßenname aus Liste finden und Alternativen anzeigen


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Stelle sicher, dass alle Straßennamen in einer Spalte (z. B. A1 bis A999) deiner Excel-Tabelle aufgelistet sind.

  2. Suchbegriff eingeben: Gib deinen Suchbegriff in eine andere Zelle ein, z. B. C1.

  3. Arrayformel einsetzen: In der Zelle C2 fügst du die folgende Arrayformel ein:

    {=WENNFEHLER(INDEX(A:A;KKLEINSTE(WENN(ISTZAHL(SUCHEN(C$1;A$1:A$999));ZEILE(X$1:X$99));ZEILE(X1)));"")}
  4. Formel nach unten kopieren: Kopiere die Formel in C2 nach unten, um alle passenden Straßennamen anzuzeigen.

  5. Auswahl treffen: Der ausgewählte Straßenname wird dann in die Zielzelle ("Strasse_Eingabe") eingetragen.


Häufige Fehler und Lösungen

  • Formel funktioniert nicht: Stelle sicher, dass die Formel als Arrayformel eingegeben wurde. Bestätige die Eingabe mit Strg + Shift + Enter.

  • Keine Ergebnisse: Überprüfe, ob die Spalte mit den Straßennamen korrekt ausgewählt und die Daten in der richtigen Form vorliegen.

  • Alternativen werden nicht angezeigt: Achte darauf, dass alle relevanten Straßennamen in der angegebenen Spalte stehen.


Alternative Methoden

Wenn du eine Helferliste erstellen in Excel möchtest, kannst du auch eine ComboBox verwenden. Hierzu benötigst du VBA:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Code einfügen: Füge den folgenden Code in das entsprechende Arbeitsblattmodul ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim rFind As Range, Adr1 As String
       Dim SuName As String, z As Integer
       If Target.Count > 1 Then Exit Sub
       If Target.Value = "" Then Exit Sub
       If Target.Address <> "$B$10" Then Exit Sub
       With Worksheets("Strassen")
           On Error GoTo Fin
           SuName = LCase(Target)
           z = Worksheets(1).Cells(1000, 2).End(xlUp).Row + 1
           Worksheets(1).Range("B11:B" & z).ClearContents
           Set rFind = .Columns(1).Find(What:=SuName, After:=.Range("A1"), LookIn:= _
           xlFormulas, LookAt:=xlPart, SearchDirection:=xlNext, MatchCase:=False)
           If rFind Is Nothing Then MsgBox Target & "  -  keine Strasse gefunden!": Exit Sub
           If Not rFind Is Nothing Then
               Adr1 = rFind.Address: z = 0
               Do
                   z = z + 1
                   Worksheets(1).Range("B10").Offset(z, 0) = rFind.Value
                   Set rFind = .Columns(1).FindNext(rFind)
               Loop Until rFind.Address = Adr1
           End If
       Fin: Target.Select
       End With
    End Sub
  3. Interaktive Suche: Nun wird die ComboBox mit den Ergebnissen gefüllt, wenn du den Teil des Straßennamens eingibst und Enter drückst.


Praktische Beispiele

  • Beispiel 1: Wenn du "Bach" in C1 eingibst, werden "Bachstraße" und "Alte Bachstraße" in den nachfolgenden Zellen angezeigt.

  • Beispiel 2: Bei der Eingabe von "Müller" erscheinen "Hubert-Müller-Weg" und "Oscar-Müller-Straße".

Mit diesen Methoden kannst du effizient Straßennamen finden und die Benutzerfreundlichkeit deiner Excel-Anwendungen erhöhen.


Tipps für Profis

  • Nutze die Datenüberprüfung in Excel, um die Eingabe in die Suchzelle zu steuern und Fehler zu minimieren.

  • Experimentiere mit Bedingter Formatierung, um die Suchergebnisse hervorzuheben.

  • Berücksichtige, dass die Verwendung von VBA mehr Flexibilität bietet, insbesondere wenn du regelmäßig mit großen Datenmengen arbeitest.


FAQ: Häufige Fragen

1. Frage
Wie kann ich die Suche nach Straßen weiter verfeinern?
Antwort: Du kannst die Suchkriterien anpassen, indem du zusätzliche Bedingungen in die Formel einfügst, wie z. B. die Verwendung von UND oder ODER.

2. Frage
Kann ich auch andere Datenquellen für die Suche verwenden?
Antwort: Ja, du kannst Daten aus anderen Arbeitsblättern oder sogar externen Datenquellen einbinden, indem du die entsprechenden Verweise in deiner Formel anpasst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige