Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Suchkriterium in Tabelle hervorheben
#1
Hallo,
brauche einen Rat. Habe eine Beispieltabelle und ein Suchfeld. Würde gerne das der Suchtext nicht den ganzen Text in einer Zelle hervorhebt (Schrift rot färben) sondern nur die Buchstaben aus dem Suchfeld. Sollte sich bei jeder Eingabe neu, über die gesamte Tabelle,  anpassen. Habe eine kleine Beispieldatei angehängt. Hoffe das ist verständlich. 

Liebe Grüße


Angehängte Dateien
.xlsm   TestSuche.xlsm (Größe: 10,03 KB / Downloads: 4)
Antworten Top
#2
Moin, 19 

so der Spur nach: 21 

.xlsb   TexTeilSuche_Nur_Teiltext_in_Fundstelle_Rot_CEF.xlsb (Größe: 16,13 KB / Downloads: 5)

Hier noch für die ganze Tabelle: 21 

.xlsb   TexTeilSuche_Nur_Teiltext_in_Fundstelle_Rot_CEF_1.xlsb (Größe: 17,01 KB / Downloads: 10)
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Silvi20
Antworten Top
#3
Das ist ja sensationell, hätte nicht gedacht dass das möglich ist. Vielen, vielen Dank. 
Eine Kleinigkeit hab ich noch. Ist es auch möglich das Groß- und Kleinschreibung ignoriert wird? Wenn ich im Suchfeld z.B. köln eingebe, das trotzdem dann Köln rot markiert wird? Das wäre noch top.
Antworten Top
#4
Moin, 19 

schreibe die Codezeile so: 21 

Code:
lngPOS = InStr(UCase(Cells(lngTMP, lngCOL)), UCase(Target.Text))

Dann kannst du nach "mÜnChEn" suchen. Angel
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Silvi20
Antworten Top
#5
Wink 
Ich danke dir, läuft wunderbar [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]
Antworten Top
#6
Hallo
habe das heute an der original Tabelle ausprobiert. Sie besteht aus ca. 4000 Zeilen. Das klappt soweit auch ganz gut, nur dauert es nach jeder Eingabe schon ein paar Sekunden. Kann man den Code so umschreiben dass das etwas schneller geht? Das wäre wirklich toll wenn da noch einmal jemand drüber gucken könnte.
Anbei nochmal eine Testdatei

LG


Angehängte Dateien
.xlsm   test.xlsm (Größe: 55,44 KB / Downloads: 5)
Antworten Top
#7
Hi,

es muss halt jedes einzelne Zeichen abgeklappert und bei Bedarf gefärbt werden - das sind ne Menge Prüfungen inkl. Aktionen.
Möglicherweise geht das mit RegExp schneller - da gibt es hier sicher auch ein paar Experten zu.
Würde aber nicht allzu viele Hoffnungen darein setzen...
Antworten Top
#8
Moin!
Setze mal an den Anfang des Worksheet_Change
Application.ScreenUpdating = False

Am Ende kannst Du es mit = True wieder einschalten.

Dennoch gestatte mir ein kritisches Wort:
Excel ist keine Textverarbeitung!
Umfangreiche Formatänderungen bewirken im "besten" Fall "nur" ein zähes Arbeiten.
Irgendwann ist Schluss und Excel verabschiedet sich ohne Vorwarnung …

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#9
Moin, 19 

zwei Punkte die mir spontan aufgefallen sind: 21

Du suchst nach dem Filtern trotzdem in allen Zellen - ergo auch in den schon ausgeblendeten Zellen. Das kann man leicht ändern und bringt einen Geschwindigkeitsvorteil.
Das "Change-Ereignis" wird bei jeder Änderung aufgerufen. Man könnte erst die Eingabe beenden und dann z. B. nach Return starten. Auch wieder schneller.

Es gibt noch ein paar Stellschrauben, an denen man drehen kann. Es kommt aber auf die Arbeitsweise und die Datenmenge an! Immer, wenn du einzelne Zeichen innerhalb einer Zelle verändern willst, wird es problematisch.

Eine Alternative wäre hier die Bedingte Formatierung. Da wird leider die Schriftart der ganzen Zelle verändert, aber es ist schnell und schafft trotzdem eine gewisse Übersicht - sofern es dir darum geht.

Welchen Weg möchtest du gehen?
________
Servus
Case
Antworten Top
#10
Danke euch, da es ja funktionell und keine Spielerei sein soll habe ich den Tipp von Case mit der bedingten Formatierung umgesetzt. So ist die Geschwindigkeit vollkommen in Ordnung.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste