Office: Wörter in Textboxen per Makro suchen

Helfe beim Thema Wörter in Textboxen per Makro suchen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Excel 2002 Schönen guten Tag! In mehreren Tabellen befinden sich je mehrere Textboxen (Textfelder). Der Inhalt lautet zum Beispiel: "Länder:... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von reinri, 21. April 2020.

  1. Wörter in Textboxen per Makro suchen


    Excel 2002

    Schönen guten Tag!

    In mehreren Tabellen befinden sich je mehrere Textboxen (Textfelder).
    Der Inhalt lautet zum Beispiel:

    "Länder: Deutschland, Österreich, Schweiz, Italien, usw
    Städte: Wien, Graz, Linz, München, usw"

    Mit folgendem Makro möchte ich einzelne Ländernamen oder Städtenamen per Dialogfeld suchen:

    Sub Suchen_alle_Tabellen()
    Dim wks As Worksheet
    Dim Shpe As Shape
    Dim strAddress As String, strFind As String
    strFind = InputBox("Bitte Suchbegriff eingeben:", Application.UserName, strSuch)
    If strFind = "" Then Exit Sub
    For Each wks In Worksheets

    For Each Shpe In wks.Shapes
    If Shpe.Type = msoTextBox Then
    If Shpe.DrawingObject.Caption Like strFind Then
    MsgBox "Suchtext gefunden in: " & Shpe.Name & " " & wks.Name
    End If
    End If
    Next
    Next wks
    strSuch = strFind
    MsgBox "Keine weiteren Fundstellen!", False, Application.UserName
    End Sub

    Hiermit bekomme ich jedoch nur dann ein Suchergebnis, wenn im Suchfeld des Dialogfeldes der gesamte Text der Textbox eingegeben wird.

    Mit

    If Shpe.DrawingObject.Caption Like "*" & strFind & "*" Then

    bekomme ich auch ein Suchergebnis für zB "Deutschland", wenn ich nur "Deutsch" ins Suchfeld eingebe.

    Ich möchte aber nur ein Suchergebnis, wenn das gesuchte einzelne Wort mit dem gefundenen Wort als Ganzes übereinstimmt.
    Z.B.:
    Ich suche "Deutsch", dann kein Suchergebnis,
    ich suche "Norddeutschland", dann kein Suchergebnis,
    ich suche "Deutschland", dann ein Suchergebnis.

    Weiß jemand Rat?

    Besten Dank!

    :)
     
    reinri, 21. April 2020
    #1
  2. Nimm das Komma mit rein...

    If Shpe.DrawingObject.Caption & "," Like "*" & strFind & ",*" Then

    siehe auch:
     
    Scorefun, 23. April 2020
    #2
  3. Sieht schon sehr gut aus, aber:

    Länder: Deutschland, Österreich, Schweiz, Italien
    Städte: Wien, Graz, Linz, München

    Italien wird nicht gefunden weil kein Komma folgt und weitere Einträge folgen.
    München wird jedoch gefunden. Hier folgt auch kein Komma, aber das Wort ist das letzte des Textfeldes.
     
    reinri, 23. April 2020
    #3
  4. Wörter in Textboxen per Makro suchen

    Dann alternativ noch den Zeilenumbruch chr(10) aufnehmen

    If Shpe.DrawingObject.Caption & "," Like "*" & strFind & ",*" or Shpe.DrawingObject.Caption & "," Like "*" & strFind & chr(10) & "*" Then
     
    Scorefun, 23. April 2020
    #4
  5. Absolut perfekt!
    Eine Frage hätte ich noch:

    Wenn zB das Wort "München" in mehreren Textboxen gefunden wird, möchte ich in einer MsgBox die jeweils erste Textzeile der betreffenden Textboxen sowie die Namen der zugehörigen Tabellenblätter, in denen sich die Textboxen befinden, aufgelistet haben.
     
    reinri, 23. April 2020
    #5
  6. Nimm eine Variable vom Typ text, die Du bei jedem Treffer entsprechend erweiterst

    sinngemäß:

    strErgebnis = strErgebnis & vbcrlf & neuerTreffer

    Die jeweils erste Textzeile kannst Du Dir mittels Left() und Instr() - bzw Split() beim Zeilenumbruch ermitteln
     
    Scorefun, 23. April 2020
    #6
  7. Besten Dank, aber deine letzte Antwort ist mir als Laie unklar.
    Ich habe nun doch Probleme mit der weiter oben besprochenen Thematik:
    In meiner Originaldatei befinden sich ca 50 Tabellenblätter mit je 1 bis 10 Textfeldern. Beim Suchen eines Wortes wird es in den Textfeldern ab den zweiten und folgenden Zeilen nicht immer gefunden. Wenn ich ein nicht gefundenes Wort in die erste Zeile im Textfeld setze, dann wird es gefunden. Da dürfte mit dem Zeilenumbruch etwas schiefgehen.
     
    reinri, 24. April 2020
    #7
  8. Wörter in Textboxen per Makro suchen

    Ich habe soeben entdeckt, warum manche Wörter im Textfeld nicht gefunden werden:
    Die Suche umfasst nur die ersten ca. 250 Zeichen inkl. Leerzeichen.
    Könnte man diese Begrenzung erhöhen?
     
    reinri, 24. April 2020
    #8
  9. Vielleicht kannst Du mal erklären, was Du überhaupt vor hast; ich habe das Gefühl, daß Dein Datenmodell 'überarbeitungswürdig' erscheint

    Anstatt caption Like, schau Dir die Funktion Instr() an
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Scorefun, 24. April 2020
    #9
  10. Also hier ein Beispiel eines meiner Textfelder:

    "Länder: BRD, Portugal, Frankreich, Niederlande, Kolumbien, Panama, Ecuador, Peru, Chile, Großbritannien, Französisch Polynesien, Cookinseln, Tonga, Neukaledonien, Australien, Papua Neuguinea, Indonesien, Malaysien, Philippinen, Taiwan, Japan, Russland, Südkorea, China, Vietnam, Singapur, Thailand"

    Das Wort "Russland" wird noch gefunden, "Südkorea" bis "Thailand" werden nicht gefunden, weil diese Wörter mehr als ca. 250 Zeichen vom Beginn des Textfeldes entfernt sind.
    Mit der Funktion Instr() komme ich mangels Kenntnissen nicht klar. Dennoch danke für den Tipp. LG
     
  11. Dafür gibt es die F1-Taste im VBA Editor - und Google
    Ein bisschen Eigeninitiative erwarte ich schon von Dir

    Und meine Frage hast Du auch noch nicht beantwortet
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Scorefun, 24. April 2020
    #11
  12. Hier die Antwort: Ich habe vor, mit dem obigen und durch dich optimierten Makro in den Textfeldern meiner Excel-Reisemappe nach einem bestimmten Wort zu suchen und angezeigt bekommen, in welchen Textfeldern sich dieses Wort befindet.
     
  13. Wörter in Textboxen per Makro suchen

    Das steht schon in Beitrag #1; von daher ziehe ich mich jetzt besser zurück.
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Scorefun, 24. April 2020
    #13
  14. Ja danke.
    Vielleicht gibt es noch andere Experten?
     
  15. Mit regulären Ausdrücken kann man auch gezielt Worte ermitteln und also identifizieren.

    Es könnte aber sein, dass das etwas zu aufwändig ist, zumal aufzustellende Suchmuster äußerst präzise arbeiten und daher eine Erstellung auf ein einzelnes (sich änderndes) Beispiel, das dann vmtl. Realität nur bruchstückhaft bis gar nicht darstellt, eine Aufgabe für jene wäre, die nur Langeweile totzuschlagen haben.

    Ein Experte würde sich mit Finden und Weiterverwenden der Fundergebnisse beschäftigen, nicht mit der Suche an sich.

    Idealerweise würde man diesen genannten Datenhaufen aufräumen zu einer (=> 1!) verwendungsfähigen Tabelle.
    Alternativ würde man mit einem einmaligen Durchlauf über alles sich ein Stichwortverzeichnis anlegen: Einzelbegriff, Zelle, Arbeitsblatt.
    Falls das schwierig oder zeitraubend sein sollte: Bedanke Dich bei jenem, der einen solchen Datenhaufen "wohlüberlegt" erzeugt hat.

    Dann brauchte man einfach nur filtern, bspw. mit dem Autofilter.
     
Thema:

Wörter in Textboxen per Makro suchen

Die Seite wird geladen...
  1. Wörter in Textboxen per Makro suchen - Similar Threads - Wörter Textboxen Makro

  2. 1050 Zahlen mit einem Wort wiedergeben

    in Microsoft Excel Hilfe
    1050 Zahlen mit einem Wort wiedergeben: Hallo zusammen, ich habe eine Liste, wo ich 1050 Artikelnummern mit der Endung -ENTWICKLUNG beschreiben muss in Excel. Nun möchte ich nicht alle 1050 einzeln mit Copy & paste füllen und hatte...
  3. Excel - nach mehreren Wörtern suchen und diese farbig markieren?

    in Microsoft Excel Hilfe
    Excel - nach mehreren Wörtern suchen und diese farbig markieren?: Hallo, ich möchte in Excel ein Dokument immer nach den gleichen ganzen Wörtern durchsuchen und die Ergebnisse unterschiedlich farbig markieren. Beispiel: Auto - Bus - Flugzeug - grün markieren...
  4. Word - nach mehreren Wörtern suchen und diese farbig markieren?

    in Microsoft Word Hilfe
    Word - nach mehreren Wörtern suchen und diese farbig markieren?: Hallo, ich möchte in Word ein Dokument immer nach den gleichen ganzen Wörtern durchsuchen und die Ergebnisse unterschiedlich farbig markieren. Beispiel: Auto - Bus - Flugzeug - grün markieren...
  5. Nach Wörtern in Textmarke suchen und Zeilen formatieren

    in Microsoft Word Hilfe
    Nach Wörtern in Textmarke suchen und Zeilen formatieren: Hallo! Es gibt ein Word Dokument mit mehreren Seiten Text. In diesem Dokument steht öfter das Wort "Anteil". In diesem Dokument gibt es auch mehrere Textmarken. In den Textmarken ist jeweils Text...
  6. Wort verknüpfen

    in Microsoft Outlook Hilfe
    Wort verknüpfen: Hallo an alle, ich würde gerne ein Wort in der Mail schreiben und dieses soll sich automatisch im Text aktualisieren. In Word ist das ohne Probleme möglich (Verknüpfung hier erstellen), im...
  7. Textbox Worter Zahlen

    in Microsoft Excel Hilfe
    Textbox Worter Zahlen: Ich Habe Folgene problem Ich Will in textbox1 in UserForm 1) Wenn TextBox1 Leer Ist Dann Bei OK Drucken In zeile 16 Text "Kein Angabe" 2) Wenn In Text Box Voll Ist dann Prüfen Ob In Textbox1...
  8. Problem bei Trennung von Wörtern

    in Microsoft PowerPoint Hilfe
    Problem bei Trennung von Wörtern: Hallo zusammen Ich habe ein sehr merkwürdiges Problem und hoffe ihr habt eine Lösung dafür. Es geht um Textboxen, in denen manuell ein Wort mit Bindestrich getrennt wird. Nun funktioniert...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden