Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Wort in Text suchen und hervorheben
17.02.2022 17:52:06
Nathalie
Hi Zusammen,
habe eine Tabelle in der in den Zellen D3:F16 größere Texte stehen.
Über eine Formel, werden in meiner Spalte A1 einzelne Wörter aufgelistet.
Jetzt möchte ich diese Wörter im Bereich D3:F16 finden und hervorheben.
Hat jemand eine Idee?
Gruß Nathalie

27
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wort in Text suchen und hervorheben
17.02.2022 17:56:08
SF
Hola,
wieso werden denn mehrere Wörter in einer Zelle aufgelistet?
Sind die irgendwie getrennt?
Gruß,
steve1da
AW: Wort in Text suchen und hervorheben
17.02.2022 18:03:07
SF
Dann wirst du auf VBA ausweichen müssen. Mit einer Formel kann kein einzelnes Wort in einem Text allein für sich gefärbt werden.
AW: Wort in Text suchen und hervorheben
17.02.2022 18:14:04
Nathalie
Danke Steve, dann hoffe ich dass mir dabei jemand helfen kann.
Gruß Nathalie
AW: Wort in Text suchen und hervorheben
17.02.2022 17:58:48
{Boris}
Hi,
D3:F16 markieren, beginnend bei D3:
Bedingte Formatierung, Formel zur Ermittlung...
=ZÄHLENWENN(Bereich_Spalte_A;D3)
Also z.B. =ZÄHLENWENN($A$1:$A$20;D3)
und Format zuweisen.
VG, Boris
Anzeige
AW: Wort in Text suchen und hervorheben
17.02.2022 18:06:22
Nathalie
Hallo Boris,
an die Bedingte Formatierung habe ich auch schon gedacht, konnte es aber nicht lösen.
Kannst du mir deinen Vorschlag genauer erklären?
Verstehe nicht so ganz wie du das meinst.
Gruß Nathalie
AW: Wort in Text suchen und hervorheben
17.02.2022 18:10:54
{Boris}
Hi,
das geht in Deinem Fall nur mit VBA. Codevorschlag meinerseits - bezogen auf die 3 Begriffe in A3:A5:

Sub til()
Dim C As Range, D As Range
For Each D In Tabelle2.Range("D3:F19")
For Each C In Tabelle1.Range("A3:A5")
If D Like "*" & C & "*" Then
D.Characters(InStr(1, D, C), Len(C)).Font.Bold = True
End If
Next C
Next D
End Sub
VG, Boris
Anzeige
Es ist doch was passiert...
17.02.2022 18:22:53
{Boris}
Hi,
...die Suchbegriffe sind fett hervorgehoben.
VG, Boris
AW: Es ist doch was passiert...
17.02.2022 18:37:27
Nathalie
Hi Boris,
das hab ich übersehen, sorry ist schon so dunkel und spät : )
Aber Danke für den Lösungsvorschlag.
Hast du noch eine Idee, wie man das anpassen könnte, dass die Wörter, die nicht mehr in der Auswahl stehen auch nicht mehr Fett markiert werden?
Gruß Nathalie
Nepumuk hat ja schon geantwortet...
17.02.2022 18:45:08
{Boris}
Hi,
...der Vollständigkeit halber:

Sub til()
Dim C As Range, D As Range
Tabelle2.Range("D:F").Font.Bold = False
For Each D In Tabelle2.Range("D3:F19")
For Each C In Tabelle1.Range("A3:A5")
If D Like "*" & C & "*" Then
D.Characters(InStr(1, D, C), Len(C)).Font.Bold = True
End If
Next C
Next D
End Sub
VG, Boris
Anzeige
AW: Wort in Text suchen und hervorheben
17.02.2022 17:59:12
Nepumuk
Hallo Nathalie,
kannst du eine Mustermappe mit ein paar Beispieldaten hochladen?
Gruß
Nepumuk
AW: Wort in Text suchen und hervorheben
17.02.2022 18:23:06
Nepumuk
Hallo Nathalie,
teste mal:

Option Explicit
Public Sub Worte_markieren()
Dim lngRow As Long, lngPosition As Long
Dim strText As String, strFirsAddress As String
Dim objCell As Range
With Worksheets("Tabelle1")
For lngRow = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
strText = .Cells(lngRow, 1).Text
Set objCell = .Columns("D:F").Find(What:=strText, _
LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
If Not objCell Is Nothing Then
strFirsAddress = objCell.Address
Do
lngPosition = InStr(1, objCell.Text, strText, vbTextCompare)
With objCell.Characters(lngPosition, Len(strText)).Font
.Color = vbRed
.Bold = True
End With
Set objCell = .Columns("D:F").FindNext(After:=objCell)
Loop Until objCell.Address = strFirsAddress
Set objCell = Nothing
End If
Next
End With
End Sub
Gruß
Nepumuk
Anzeige
AW: Wort in Text suchen und hervorheben
17.02.2022 18:30:26
Nathalie
Hallo Nepumuk, vielen Dank! Das ist spitze.
Eine Frage noch. Wenn das Wort ausgetauscht wird und man den Code wieder laufen lässt, bleibt das Wort trotzdem markiert.
Kann man das ändern, dass die Wörter, die nicht mehr in der Auswahl stehen auch nicht mehr markiert sind?
Vielen lieben Dank
Gruß Nathalie
AW: Wort in Text suchen und hervorheben
17.02.2022 18:38:00
Nepumuk
Hallo Nathalie,
dann so:

Option Explicit
Public Sub Worte_markieren()
Dim lngRow As Long, lngPosition As Long
Dim strText As String, strFirsAddress As String
Dim objCell As Range
With Worksheets("Tabelle1")
With .Range(.Cells(3, 4), .Cells(.Rows.Count, 6).End(xlUp)).Font
.Color = vbBlack
.Bold = False
End With
For lngRow = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
strText = .Cells(lngRow, 1).Text
Set objCell = .Columns("D:F").Find(What:=strText, _
LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
If Not objCell Is Nothing Then
strFirsAddress = objCell.Address
Do
lngPosition = InStr(1, objCell.Text, strText, vbTextCompare)
With objCell.Characters(lngPosition, Len(strText)).Font
.Color = vbRed
.Bold = True
End With
Set objCell = .Columns("D:F").FindNext(After:=objCell)
Loop Until objCell.Address = strFirsAddress
Set objCell = Nothing
End If
Next
End With
End Sub
Gruß
Nepumuk
Anzeige
AW: Wort in Text suchen und hervorheben
17.02.2022 21:21:59
Nathalie
Hallo Nepumuk,
ich habe deine Code in die Beispiel Datei eingefügt.
Hier funktioniert er ohne Probleme.
Nun habe ich versucht, den Code in meine Datenbank einzupflegen.
Wenn ich den Code von meiner Datenbank aus ansteure hängt sich leider mein PC auf.
Ich habe zu dem Code folgendes beigefügt.
Application.WindowState = xlNormal
Windows("151210.xlsx").Activate
Kannst du mir hier nochmal helfen? Liegt es daran das ich den Code nicht direkt in der Beispieldatei hab?
Viele Danke & Viele Grüße Nathalie
AW: Wort in Text suchen und hervorheben
18.02.2022 07:24:48
Nepumuk
Hallo Nathalie,
kann ich nicht nachvollziehen. Hast du hier:
With Worksheets("Tabelle1")
den Namen der Tabelle angepasst?
Gruß
Nepumuk
Anzeige
AW: Wort in Text suchen und hervorheben
18.02.2022 09:06:56
Nathalie
Hallo Nepumuk,
den Namen habe ich der Tabelle angepasst.
Er aktiviert mir auch die Datei und das Blatt aber er hört nicht mehr auf zu suchen und läd immer weiter.
Dann muss ich meine Excel über den Taskmanager schließen und je nach dem meinen PC neu starten.
Einen Debuggen erhalte ich nicht.
Vielen Dank für deine Unterstützung. Viele Grüße
Nathalie
AW: Wort in Text suchen und hervorheben
18.02.2022 09:38:39
Nepumuk
Hallo Nathalie,
ich habe dir mal eine Fortschrittsanzeige in der Statusbar eingebaut damit du siehst wie weit das Makro ist.

Option Explicit
Public Sub Worte_markieren()
Dim lngRow As Long, lngPosition As Long, lnglastRow As Long
Dim lngIndex As Long, lngPercent As Long
Dim strText As String, strFirsAddress As String
Dim objCell As Range
With Worksheets("Tabelle1")
With .Range(.Cells(3, 4), .Cells(.Rows.Count, 6).End(xlUp)).Font
.Color = vbBlack
.Bold = False
End With
lnglastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
lngPercent = CLng(100 / (lnglastRow - 2))
For lngRow = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
lngIndex = lngIndex + lngPercent
Application.StatusBar = " " & CStr(lngIndex) & " % " & String$(lngIndex \ 2, ChrW$(9609))
strText = .Cells(lngRow, 1).Text
Set objCell = .Columns("D:F").Find(What:=strText, _
LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
If Not objCell Is Nothing Then
strFirsAddress = objCell.Address
Do
lngPosition = InStr(1, objCell.Text, strText, vbTextCompare)
With objCell.Characters(lngPosition, Len(strText)).Font
.Color = vbRed
.Bold = True
End With
Set objCell = .Columns("D:F").FindNext(After:=objCell)
Loop Until objCell.Address = strFirsAddress
Set objCell = Nothing
End If
Next
End With
Application.StatusBar = False
End Sub
Gruß
Nepumuk
Anzeige
AW: Wort in Text suchen und hervorheben
18.02.2022 09:44:44
Nepumuk
Hallo Nathalie,
und noch eine Abfrage ob die Zelle leer ist.

Option Explicit
Public Sub Worte_markieren()
Dim lngRow As Long, lngPosition As Long, lnglastRow As Long
Dim lngIndex As Long, lngPercent As Long
Dim strText As String, strFirsAddress As String
Dim objCell As Range
With Worksheets("Tabelle1")
With .Range(.Cells(3, 4), .Cells(.Rows.Count, 6).End(xlUp)).Font
.Color = vbBlack
.Bold = False
End With
lnglastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
lngPercent = CLng(100 / (lnglastRow - 2))
For lngRow = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
lngIndex = lngIndex + lngPercent
Application.StatusBar = " " & CStr(lngIndex) & " % " & String$(lngIndex \ 2, ChrW$(9609))
If Not IsEmpty(.Cells(lngRow, 1).Value) Then
strText = .Cells(lngRow, 1).Text
Set objCell = .Columns("D:F").Find(What:=strText, _
LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
If Not objCell Is Nothing Then
strFirsAddress = objCell.Address
Do
lngPosition = InStr(1, objCell.Text, strText, vbTextCompare)
With objCell.Characters(lngPosition, Len(strText)).Font
.Color = vbRed
.Bold = True
End With
Set objCell = .Columns("D:F").FindNext(After:=objCell)
Loop Until objCell.Address = strFirsAddress
Set objCell = Nothing
End If
End If
Next
End With
Application.StatusBar = False
End Sub
Gruß
Nepumuk
Anzeige
AW: Wort in Text suchen und hervorheben
18.02.2022 10:10:36
GerdL
Hallo,
ich schlage vor noch "With Activesheet" zu nehmen, da offenbar vorher aktiviert wird und
am Anfang die Schrift in den ganzen Suchspalten zu entfärben.
With .Columns("D:F").Font
.Color = vbBlack
.Bold = False
End With
Gruß Gerd
AW: Wort in Text suchen und hervorheben
18.02.2022 10:14:30
Nathalie
Hallo Nepumuk,
perfekt, vielen Dank für deine Unterstützung. Jetzt funktioniert es richtig. :)
Ich hab noch eine Frage zum gleichen Thema jedoch ein anderes Problem. Evtl. weißt du hier auch bescheid.
Ich habe nun alles in einer UserForm angelegt und installiert. Eintragen kann ich alles und dein Code löst dann auch super aus.
Jedoch kann ich die Daten nicht zurück in die UserForm schreiben, wenn ich was bearbeiten möchte?
Kannst du mir hierzu einen Code sagen? Ansonsten lass ich es einfach für den Anfang nur in eine Richtung laufen. :)
Vielen lieben Dank. :) Gruß Nathalie
Anzeige
AW: Wort in Text suchen und hervorheben
18.02.2022 10:22:11
Nepumuk
Hallo Nathalie,
kopiere die UserForm per Drag & Drop im Projektexplorer in deine Mustermappe und lade diese nochmal hoch.
Gruß
Nepumuk
AW: Wort in Text suchen und hervorheben
18.02.2022 11:50:46
Nathalie
Hallo Nepumuk,
ich habe dir die BSP Datei mal angehängt. Leider ist die Datei viel zu groß und es sind viele UserFormen betroffen. Welche ich noch anpassen möchte/muss.
Anbei der Link zur Datei:
https://www.herber.de/bbs/user/151228.xlsx
Es ist sehr schwer zu erklären was mir genau fehlt. Die UserForm7 habe ich noch nicht fertig installiert. (derzeit noch in Arbeitung)
Meine frage ist, gibt es hier eine Möglichkeit das wir uns mal gemeinsam wenn du Zeit hast meine Datenbank anschauen und du mir hier evtl weiterhelfen kannst.
Die Datenbank ist mittlerweile so groß das ich diese nicht hier zur Verfügung stellen kann. :( Und ich glaube ich hab es mir viele zu kompliziert gemacht. :(
Viele Dank für deine echt Tolle Unterstützung. Viele Grüße Nathalie
AW: Wort in Text suchen und hervorheben
18.02.2022 11:59:34
Nepumuk
Hallo Nathalie,
in einer xlsx kann kein UserForm sein. Am besten erstellst du einen neuen Thread denn das Ganz hat ja nichts mehr mit der ursprünglichen Frage zu tun.
Gruß
Nepumuk
AW: Wort in Text suchen und hervorheben
18.02.2022 10:20:56
Nathalie
Hallo Nepumuk,
perfekt, vielen Dank für deine Unterstützung. Jetzt funktioniert es richtig. :)
Ich hab noch eine Frage zum gleichen Thema jedoch ein anderes Problem. Evtl. weißt du hier auch bescheid.
Ich habe nun alles in einer UserForm angelegt und installiert. Eintragen kann ich alles und dein Code löst dann auch super aus.
Jedoch kann ich die Daten nicht zurück in die UserForm schreiben, wenn ich was bearbeiten möchte?
Kannst du mir hierzu einen Code sagen? Ansonsten lass ich es einfach für den Anfang nur in eine Richtung laufen. :)
Vielen lieben Dank. :) Gruß Nathalie

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige