Wie kann man bestimmten Text innerhalb einer Zelle basierend auf einem anderen Text hervorheben?
In Excel ist es vielleicht einfach, Zellen basierend auf einem bestimmten Text hervorzuheben, aber hier möchte ich einen bestimmten Text innerhalb einer Zelle hervorheben, um ihn herauszustellen, nicht die gesamte Zelle. Dies könnte für die meisten von uns problematisch sein. In diesem Artikel werde ich über einige Tricks sprechen, um diese Aufgabe in Excel zu lösen.
Heben Sie einen oder mehrere bestimmte Texte innerhalb mehrerer Zellen mit VBA-Code hervor.
Zum Beispiel habe ich eine Reihe von Textzeichenfolgen und jetzt möchte ich den spezifischen Text „Sky“ in diesen Zellen hervorheben, um das Ergebnis wie in den folgenden Screenshots zu erhalten:
![]() | ![]() | ![]() |
Um nur einen Teil des Textes innerhalb einer Zelle hervorzuheben, kann der folgende VBA-Code Ihnen helfen.
1. Wählen Sie die Zellen aus, in denen Sie den spezifischen Text hervorheben möchten, und halten Sie dann die Tasten ALT + F11 gedrückt, um das Microsoft Visual Basic for Applications-Fenster zu öffnen.
2. Klicken Sie auf Einfügen > Modul und fügen Sie den folgenden Code im Modulfenster ein.
VBA-Code: Heben Sie einen Teil des Textes innerhalb einer Zelle hervor:
Sub HighlightStrings()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim Rng As Range
Dim cFnd As String
Dim xTmp As String
Dim x As Long
Dim m As Long
Dim y As Long
cFnd = InputBox("Enter the text string to highlight")
y = Len(cFnd)
For Each Rng In Selection
With Rng
m = UBound(Split(Rng.Value, cFnd))
If m > 0 Then
xTmp = ""
For x = 0 To m - 1
xTmp = xTmp & Split(Rng.Value, cFnd)(x)
.Characters(Start:=Len(xTmp) + 1, Length:=y).Font.ColorIndex = 3
xTmp = xTmp & cFnd
Next
End If
End With
Next Rng
Application.ScreenUpdating = True
End Sub
3. Drücken Sie dann die F5-Taste, um diesen Code auszuführen, und ein Eingabeaufforderungsfeld wird angezeigt, um Sie daran zu erinnern, den Text einzugeben, den Sie nur hervorheben möchten, siehe Screenshot:
4. Klicken Sie dann auf die Schaltfläche OK, und der gesamte von Ihnen angegebene Text wurde nur innerhalb der Zellen hervorgehoben, siehe Screenshot:
![]() | ![]() | ![]() |
VBA-Code: Heben Sie mehrere Schlüsselwörter aus Textzeichenfolgen hervor:
Sub HighlightStrings()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim Rng As Range
Dim cFnd As String
Dim xTmp As String
Dim x As Long
Dim m As Long
Dim y As Long
Dim xFNum As Integer
Dim xArrFnd As Variant
Dim xStr As String
cFnd = InputBox("Please enter the text, separate them by comma:")
If Len(cFnd) < 1 Then Exit Sub
xArrFnd = Split(cFnd, ",")
For Each Rng In Selection
With Rng
For xFNum = 0 To UBound(xArrFnd)
xStr = xArrFnd(xFNum)
y = Len(xStr)
m = UBound(Split(Rng.Value, xStr))
If m > 0 Then
xTmp = ""
For x = 0 To m - 1
xTmp = xTmp & Split(Rng.Value, xStr)(x)
.Characters(Start:=Len(xTmp) + 1, Length:=y).Font.ColorIndex = 3
xTmp = xTmp & xStr
Next
End If
Next xFNum
End With
Next Rng
Application.ScreenUpdating = True
End Sub
Geben Sie dann im erscheinenden Fenster die Schlüsselwörter ein, die Sie hervorheben möchten (trennen Sie die Wörter durch ein Komma), siehe Screenshot:
Klicken Sie anschließend auf die Schaltfläche OK, und die angegebenen Wörter wurden sofort hervorgehoben, siehe Screenshots:
![]() | ![]() | ![]() |
Hinweis: Die obigen Codes unterscheiden zwischen Groß- und Kleinschreibung.
Heben Sie einen oder mehrere bestimmte Texte innerhalb mehrerer Zellen mit einem erstaunlichen Feature hervor.
Wenn Sie mit dem Code in Excel nicht vertraut sind, stelle ich hier ein einfaches Tool vor - Kutools für Excel. Mit seiner Funktion Mark Keyword können Sie ein oder mehrere bestimmte Schlüsselwörter auf einmal innerhalb der Zellen hervorheben.
Nach der Installation von Kutools für Excel gehen Sie bitte wie folgt vor:
1. Klicken Sie auf Kutools > Text > Mark Keyword, siehe Screenshot:
2. Führen Sie im Dialogfeld Mark Keyword die folgenden Aktionen aus:
- Wählen Sie den Datenbereich aus, den Sie im Bereichstextfeld verwenden möchten;
- Wählen Sie die Zellen aus, die die Schlüsselwörter enthalten, die Sie hervorheben möchten, oder geben Sie die Schlüsselwörter manuell (durch Komma getrennt) in das Schlüsselworttextfeld ein.
- Wählen Sie abschließend eine Schriftfarbe zur Hervorhebung der Texte aus, indem Sie die Option Schlüsselwort Schriftfarbe aktivieren. (Um die gesamten Zellen, die die Schlüsselwörter enthalten, einzufärben, wählen Sie die Option Zelleninhaltsfarbe markieren.)
3. Klicken Sie dann auf die Schaltfläche OK, und alle angegebenen Texte wurden wie im folgenden Screenshot hervorgehoben:
Hinweis: Diese Funktion unterscheidet nicht zwischen Groß- und Kleinschreibung. Wenn Sie den Text unter Beachtung der Groß-/Kleinschreibung hervorheben möchten, aktivieren Sie bitte die Option Groß-/Kleinschreibung beachten im Dialogfeld Mark Keyword.
Heben Sie bestimmten Text innerhalb einer Zelle basierend auf einem anderen Text mit VBA-Code hervor.
Hier ist eine andere Situation: Ich habe zwei Spalten, wobei die erste Spalte die Textzeichenfolgen enthält und die zweite Spalte den spezifischen Text. Nun muss ich den entsprechenden Text in der ersten Spalte basierend auf dem spezifischen Text in der zweiten Spalte für jede Zeile hervorheben.
1. Halten Sie die Tasten ALT + F11 gedrückt, um das Microsoft Visual Basic for Applications-Fenster zu öffnen.
2. Klicken Sie auf Einfügen > Modul und fügen Sie den folgenden Code im Modulfenster ein.
VBA-Code: Heben Sie einen Teil des Textes innerhalb einer Zelle basierend auf einem anderen Text hervor:
Sub highlight()
'Updateby Extendoffice
Dim xStr As String
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xChar As String
Dim I As Long
Dim J As Long
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
LInput:
Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Areas.Count > 1 Then
MsgBox "not support multiple columns"
GoTo LInput
End If
If xRg.Columns.Count <> 2 Then
MsgBox "the selected range can only contain two columns "
GoTo LInput
End If
For I = 0 To xRg.Rows.Count - 1
xStr = xRg.Range("B1").Offset(I, 0).Value
With xRg.Range("A1").Offset(I, 0)
.Font.ColorIndex = 1
For J = 1 To Len(.Text)
If Mid(.Text, J, Len(xStr)) = xStr Then .Characters(J, Len(xStr)).Font.ColorIndex = 3
Next
End With
Next I
End Sub
3. Nachdem Sie den Code eingefügt haben, drücken Sie die F5-Taste, um ihn auszuführen. Ein Eingabeaufforderungsfeld wird angezeigt, um Sie daran zu erinnern, den Datenbereich auszuwählen, der sowohl die Textzeichenfolge als auch den spezifischen Text enthält, den Sie hervorheben und auf den Sie sich beziehen möchten, siehe Screenshot:
4. Klicken Sie dann auf die Schaltfläche OK, und der gesamte entsprechende Text in der ersten Spalte basierend auf dem spezifischen Text in der zweiten Spalte wurde rot gefärbt, wie im folgenden Screenshot gezeigt:
Weitere relevante Artikel:
- Teiltext fett formatieren beim Zusammenfügen von zwei Spalten in Excel
- In einem Excel-Arbeitsblatt werden Sie nach dem Zusammenführen von zwei Zellwerten mit Formeln feststellen, dass es nicht möglich ist, einen Teil des Textes in der kombinierten Formelzelle fett zu formatieren. Dies kann manchmal ärgerlich sein. Wie könnten Sie einen Teil des Textes beim Zusammenfügen von zwei Spalten in Excel fett formatieren?
- Zellen zusammenführen und Textfarbe in Excel beibehalten
- Wie wir alle wissen, geht beim Zusammenführen oder Kombinieren von Zellspalten in eine Spalte die Zellformatierung (wie Textschriftfarbe, Zahlenformatierung usw.) verloren. In diesem Artikel werde ich einige Tricks vorstellen, um die Zellspalten zu kombinieren und die Textfarbe so einfach wie möglich in Excel beizubehalten.
- Bestimmten Text basierend auf Werten in einer anderen Spalte anzeigen
- Angenommen, ich habe eine Liste von Zahlen, und jetzt möchte ich bestimmten Text in einer anderen Spalte basierend auf diesen Spaltenzahlen anzeigen. Zum Beispiel, wenn die Zellennummer zwischen 1-100 liegt, möchte ich, dass der Text „Abnahme“ in der angrenzenden Zelle angezeigt wird. Wenn die Zahl zwischen 101-200 liegt, wird der Text „Stabil“ angezeigt, und wenn die Zahl größer als 200 ist, wird der Text „Zunahme“ wie im folgenden Screenshot dargestellt angezeigt. Um diese Aufgabe in Excel zu lösen, können die folgenden Formeln in diesem Artikel Ihnen helfen.
- Zellen mit Text und Zahlen in Excel summieren
- Zum Beispiel habe ich eine Liste von Werten, die numerische und textuelle Zeichenketten enthalten, und jetzt möchte ich nur die Zahlen basierend auf dem gleichen Text summieren, siehe folgenden Screenshot. Normalerweise können Sie die Werte in der Liste mit einer Textzeichenkette nicht direkt summieren. Hier werde ich Ihnen einige Formeln vorstellen, um diese Aufgabe zu bewältigen.
Beste Büroproduktivitätswerkzeuge
Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!