Realisiert wurde das durch eine VBA-Lösung.
Beispiel 1: Hier wird bei dem Textfeld, das den Suchbegriff beinhaltet, die Hintergrundfarbe geändert. Zusätzlich wird in einer Messagebox der Name des Textfeldes ausgegeben.
Der Code ist in ein
StandardModul
einzufügen
Option Explicit
Public Textfeld As TextBox
Sub In_Textfeldern_suchen_Hintergundfarbe()
'Variablen deklarieren
Dim Suchbegriff As Variant, Textfeldtext As String
'Eingabefenster auf dem Bildschirm anzeigen und den eingegebenen Text in
'Variable "Suchbegriff" schreiben
Suchbegriff = InputBox("Bitte einen Suchbegriff eingeben.", "Suchbegriff...")
'Wenn die Variable "Suchbegriff" den Wert "False" hat, der entsteht hier durch das betätigen der Abbruchtaste,
'oder keinen Wert enthält, das entsteht hier, wenn nichts eingegeben wird, aber dennoch die OK-Taste betätigt wird,
'dann Prozedur beenden
If Suchbegriff = False Or Suchbegriff = Empty Then Exit Sub
'For Each-Schleife zum Ansprechen aller in dem Tabellenblatt eingesetzten Textfelder anzusprechen
For Each Textfeld In ActiveSheet.TextBoxes
'Das Textfeld, das durch die Schleife angesprochen wird, markieren
ActiveSheet.Shapes(Textfeld.Index).Select
'Bei einem Laufzeitfehler bei der nächsten Befehlszeile weitermachen
On Error Resume Next
'Bei dem markierten Textfeld die Hintergrundfarbe zurücksetzen
Selection.ShapeRange.Fill.Visible = msoFalse
'Den Text aus dem Textfeld auslesen und in Variable "Textfeldtext" schreiben
Textfeldtext = Selection.Characters.Text
'Wenn der Suchbegriff in dem Textfeld vorkommt (hier über die Funktion "InStr" realisiert,
'ab dem ersten Buchstaben den Text mit dem Suchbegriff vergleicht)
If InStr(1, Textfeldtext, Suchbegriff, 1) Then
'Bildschirmmeldung, in der die Textboxnummer angezeigt wird, ausgeben
MsgBox "Suchbegriff in " & ActiveSheet.Shapes(Textfeld.Index).Name & " gefunden."
'Hintergrundfarbe in rot ändern
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10
Selection.ShapeRange.Fill.Visible = msoTrue
End If
Next
End Sub
|
Beispiel 2: Hier wird in dem Textfeld, das den Suchbegriff beinhaltet, die Schriftfarbe des gefundenen Suchtextes geändert. Zusätzlich wird in einer Messagebox der Name des Textfeldes ausgegeben.
Der Code ist in ein
StandardModul
einzufügen
Option Explicit
Public Textfeld As TextBox
Sub In_Textfeldern_suchen_Schriftfarbe()
'Variablen deklarieren
Dim Suchbegriff As Variant, Textfeldtext As String
'Eingabefenster auf dem Bildschirm anzeigen und den eingegebenen Text in
'Variable "Suchbegriff" schreiben
Suchbegriff = InputBox("Bitte einen Suchbegriff eingeben.", "Suchbegriff...")
'Wenn die Variable "Suchbegriff" den Wert "False" hat, der entsteht hier durch das betätigen der Abbruchtaste,
'oder keinen Wert enthält, das entsteht hier, wenn nichts eingegeben wird, aber dennoch die OK-Taste betätigt wird,
'dann Prozedur beenden
If Suchbegriff = False Or Suchbegriff = Empty Then Exit Sub
'For Each-Schleife zum Ansprechen aller in dem Tabellenblatt eingesetzten Textfelder anzusprechen
For Each Textfeld In ActiveSheet.TextBoxes
'Das Textfeld, das durch die Schleife angesprochen wird, markieren
ActiveSheet.Shapes(Textfeld.Index).Select
'Bei einem Laufzeitfehler bei der nächsten Befehlszeile weitermachen
On Error Resume Next
'Bei dem markierten Textfeld die Schriftfarbe zurücksetzen
Selection.Font.ColorIndex = 0
'Den Text aus dem Textfeld auslesen und in Variable "Textfeldtext" schreiben
Textfeldtext = Selection.Characters.Text
'Wenn der Suchbegriff in dem Textfeld vorkommt (hier über die Funktion "InStr" realisiert,
'ab dem ersten Buchstaben den Text mit dem Suchbegriff vergleicht)
If InStr(1, Textfeldtext, Suchbegriff, 1) Then
'Bildschirmmeldung, in der die Textboxnummer angezeigt wird, ausgeben
MsgBox "Suchbegriff in " & ActiveSheet.Shapes(Textfeld.Index).Name & " gefunden."
'Die Farbe der Buchstaben des gefundenen Suchbegriffs ändern
Selection.Characters( _
Start:=InStr(1, Textfeldtext, Suchbegriff, 1), _
Length:=Len(Suchbegriff)).Font.ColorIndex = 3
End If
Next
End Sub
|
Beispiel 3: Hier wird das Textfeld, das den Suchbegriff beinhaltet, markiert und sofern es nicht in der aktiven Ansicht sichtbar ist, zu dem Textfeld gescrollt. Zusätzlich wird in einer Messagebox der Name des Textfeldes ausgegeben.
Der Code ist in ein
StandardModul
einzufügen
Option Explicit
Sub In_Textfeldern_suchen_Scrollen()
'Variablen deklarieren
Dim Textfeld As TextBox, Suchbegriff As Variant, Textfeldtext As String, Abfrage As Variant
'Wenn die Variable "Suchbegriff" den Wert "False" hat, der entsteht hier durch das betätigen der Abbruchtaste,
'oder keinen Wert enthält, das entsteht hier, wenn nichts eingegeben wird, aber dennoch die OK-Taste betätigt wird,
'dann Prozedur beenden
Suchbegriff = InputBox("Bitte einen Suchbegriff eingeben.", "Suchbegriff...")
'Wenn Keine Eingabe erfolgte oder die Abbrechen-Taste betätigt wurde, Prozedur beenden
If Suchbegriff = False Or Suchbegriff = Empty Then Exit Sub
'For Each-Schleife zum Ansprechen aller in dem Tabellenblatt eingesetzten Textfelder anzusprechen
For Each Textfeld In ActiveSheet.TextBoxes
'Das Textfeld, das durch die Schleife angesprochen wird, markieren
ActiveSheet.Shapes(Textfeld.Index).Select
'Den Text aus dem Textfeld auslesen und in Variable "Textfeldtext" schreiben
Textfeldtext = Selection.Characters.Text
'Wenn der Suchbegriff in dem Textfeld vorkommt (hier über die Funktion "InStr" realisiert,
'ab dem ersten Buchstaben den Text mit dem Suchbegriff vergleicht)
If InStr(1, Textfeldtext, Suchbegriff, 1) Then
'Zum Textfeld das die Übereinstimmung enthält scrollen
ActiveWindow.ScrollIntoView _
Left:=Selection.Left, Top:=Selection.Top, _
Width:=0, Height:=0
'Bildschirmmeldung, in der die Textboxnummer angezeigt wird, ausgeben
MsgBox "Suchbegriff in " & ActiveSheet.Shapes(Textfeld.Index).Name & " gefunden."
End If
Next
End Sub
|
Dieses Beispiel wurde unter den in der
Tabelle aufgeführten Versionen getestet.
|
A |
B |
C |
D |
E |
1 |
|
|
|
|
2 |
|
Excel - Version |
Getestet |
|
3 |
|
|
|
4 |
|
Excel 2007 |
12.0 |
a |
|
5 |
|
Excel 2003 |
11.0 |
a |
|
6 |
|
Excel 2002 |
10.0 |
a |
|
7 |
|
Excel 2000 |
9.0 |
a |
|
8 |
|
Excel 97 |
8.0 |
|
|
9 |
|
|
|
|
|
10 |
|
Anzahl der Downloads: |
|
|
11 |
|
|
|
|
|
12 |
|
Dieses Beispiel wurde bereits
x
aufgerufen. |
|
13 |
|
|
14 |
|
|
|
|
|
|