Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Inhalte von Textfeldern durchsuchen

Forumthread: Inhalte von Textfeldern durchsuchen

Inhalte von Textfeldern durchsuchen
03.07.2008 18:32:00
Textfeldern
Hallo Zusammen,
folgendes Problem. In einem Tabellenblatt befinden sich ca. 200 Textfelder (Textfeld 1, Textfeld 2, usw.), eingefügt über die Zeichen-Symbolleiste, also keine Textboxen (Steuerelemente). Ich möchte über eine Suchanfrage (Userform) die Inhalte aller Textfelder durchsuchen. Übereinstimmungen sollen dann in einer Tabelle untereinander aufgelistet werden, oder vielleicht auch einfach durch farbliches Markieren der betreffenden Textfelder geschehen.
Leider gelingt mir nicht einmal, den Inhalt eines Textfeldes in eine Variable zu schreiben und diese dann in einer Messagebox anzeigen zu lassen.

Sub Inhalte_Suchen()
Dim A
A = ActiveSheet.Shapes("Textfeld 1").Select
Selection.Characters.Text
MsgBox A, vbInformation, "Suchergebnisse ..."
End Sub


Hat jemand eine Idee, wie man diese Prozedur eventuell erzeugen kann?
Danke schon mal im Voraus.
Grüße aus der Mitte. Axel

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalte von Textfeldern durchsuchen
03.07.2008 19:11:00
Textfeldern
HAllo
Du möchtest Übereinstimmugen suchen.
Womit soll denn der Inhalt der Textboxen verglichen werden ?
ransi

AW: Inhalte von Textfeldern durchsuchen
03.07.2008 19:29:00
Textfeldern
Hallo ransi,
in der Userform habe ich eine Textbox, wo der User den Suchbegriff eintippen kann. Diesen String möchte ich dann als Variable übergeben und mit dieser Variable soll dann in den Textfeldern gesucht werden.
Ax.

Anzeige
AW: Inhalte von Textfeldern durchsuchen
03.07.2008 19:37:00
Textfeldern
HAllo
Versuche es mal so:
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub CommandButton1_Click()
Dim sh As Shape
Dim Variable As String
Variable = UserForm1.TextBox1.Text

For Each sh In Sheets("Tabelle1").Shapes
    If sh.Type = msoTextBox Then
        If sh.TextFrame.Characters.Text = Variable Then
            With sh.Fill
                .Solid
                .ForeColor.SchemeColor = 10
            End With
        End If
    End If
Next
End Sub

ransi

Anzeige
AW: Inhalte von Textfeldern durchsuchen
03.07.2008 20:02:39
Textfeldern
Hallo ransi,
hab's probiert, läuft erst mal nicht, bekomme aber keine Fehlermeldung.
Mir gelingt leider nicht hinter deine Codezeilen ...
If sh.Type = msoTextBox Then
If sh.TextFrame.Characters.Text = Variable Then
With sh.Fill
.Solid
.ForeColor.SchemeColor = 10
End With
End If
End If
... zu kommen. Bedeutet "msoTextBox", das der Typ des Elements ein "Textfeld 1" ist?
Kannst Du mir vielleicht weiterhelfen?
Ax.

Anzeige
AW: Inhalte von Textfeldern durchsuchen
04.07.2008 07:38:00
Textfeldern
Hallo ransi,
Vielen Dank für Deine Hilfe. Habe den Fehler bei mir gefunden. Dein Script läuft genau so. wie ich es mir vorgestellt hatte.
Danke. Axel
;
Anzeige
Anzeige

Infobox / Tutorial

Inhalte von Textfeldern durchsuchen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Deine Excel-Datei mit den Textfeldern, die Du durchsuchen möchtest.

  2. Füge eine Userform hinzu:

    • Drücke Alt + F11, um den VBA-Editor zu öffnen.
    • Gehe zu Einfügen -> UserForm.
  3. Füge eine Textbox und einen Button hinzu:

    • Ziehe eine Textbox (TextBox1) und einen Button (CommandButton1) auf die Userform.
  4. Füge den folgenden VBA-Code in das UserForm-Modul ein:

    Private Sub CommandButton1_Click()
       Dim sh As Shape
       Dim Variable As String
       Variable = UserForm1.TextBox1.Text
    
       For Each sh In Sheets("Tabelle1").Shapes
           If sh.Type = msoTextBox Then
               If sh.TextFrame.Characters.Text Like "*" & Variable & "*" Then
                   With sh.Fill
                       .Solid
                       .ForeColor.SchemeColor = 10 ' Farbe ändern
                   End With
               End If
           End If
       Next sh
    End Sub
  5. Starte die Userform und gib einen Suchbegriff in die Textbox ein, um die Textfelder zu durchsuchen.


Häufige Fehler und Lösungen

  • Fehler 1: "Variable nicht definiert"

    • Lösung: Stelle sicher, dass Du die Variable korrekt deklariert hast, z.B. mit Dim Variable As String.
  • Fehler 2: Keine Übereinstimmungen gefunden

    • Lösung: Überprüfe, ob der Suchbegriff korrekt eingegeben wurde und ob die Textfelder tatsächlich Text enthalten.
  • Fehler 3: Typkonflikt bei sh.Type

    • Lösung: Vergewissere Dich, dass die Textfelder als msoTextBox deklariert sind.

Alternative Methoden

  • Direkte Suche über Excel-Funktionen: Du kannst die Funktion SVERWEIS oder FILTER verwenden, um Daten in Tabellen zu durchsuchen, jedoch ist dies weniger geeignet für Textfelder.
  • Verwendung von Add-Ins: Es gibt Excel-Add-Ins, die erweiterte Suchfunktionen bieten, wenn Du häufig mit Textfeldern arbeitest.

Praktische Beispiele

  • Beispiel 1: Suche nach einem bestimmten Wort in Textfeldern

    • Wenn Du nach "Projekt" suchst, wird jede Übereinstimmung in den Textfeldern farblich markiert.
  • Beispiel 2: Suche nach einem Teil eines Wortes

    • Mit Like "*" & Variable & "*" kannst Du nach Teilstrings suchen, was die Flexibilität erhöht.

Tipps für Profis

  • Optimierung des Codes: Du kannst den Code weiter optimieren, indem Du zusätzliche Bedingungen hinzufügst, um z.B. nur bestimmte Textfelder zu berücksichtigen.
  • Verwendung von Option Explicit: Dies zwingt Dich, alle Variablen zu deklarieren, was die Fehleranfälligkeit verringert.
  • Farben anpassen: Anstatt nur eine Farbe zu verwenden, kannst Du verschiedene Farben für unterschiedliche Übereinstimmungen nutzen.

FAQ: Häufige Fragen

1. Wie kann ich alle Textfelder auf einmal durchsuchen? Um alle Textfelder zu durchsuchen, kannst Du die oben erwähnte Schleife verwenden, um durch alle Shapes in Deinem Arbeitsblatt zu iterieren.

2. Was ist der Unterschied zwischen Textfeldern und Textboxen? Textfelder sind grafische Objekte, die über die Zeichen-Symbolleiste erstellt werden, während Textboxen Steuerelemente sind, die in UserForms verwendet werden.

3. Kann ich die Suche auf mehrere Tabellenblätter ausdehnen? Ja, Du kannst die Schleife anpassen, um durch mehrere Tabellenblätter zu iterieren, indem Du die Blattnamen in einer Array- oder Collection-Variable speicherst und diese durchläufst.

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