Hoe een specifieke tekst binnen een cel te markeren op basis van andere tekst?
In Excel is het misschien eenvoudig om cellen te markeren op basis van een specifieke tekst, maar hier wil ik een specifieke tekst binnen een cel markeren om deze uit te laten blinken, niet de hele cel. Dit kan voor velen van ons lastig zijn. In dit artikel zal ik enkele trucs bespreken om deze taak in Excel uit te voeren.

Markeer één of meer specifieke teksten binnen meerdere cellen met VBA-code
Bijvoorbeeld, ik heb een reeks tekstreeksen, en nu wil ik de specifieke tekst “Sky” in deze cellen markeren om het resultaat te krijgen zoals in de volgende schermafbeeldingen wordt getoond:
![]() | ![]() | ![]() |
Om alleen een deel van de tekst binnen een cel te markeren, kan de volgende VBA-code u helpen.
1. Selecteer de cellen waarin u de specifieke tekst wilt markeren, en houd vervolgens de toetsen ALT + F11 ingedrukt om het venster Microsoft Visual Basic for Applications te openen.
2. Klik op Invoegen > Module, en plak de volgende code in het Modulevenster.
VBA-code: Markeer een deel van de tekst binnen een cel:
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. Druk vervolgens op de toets F5 om deze code uit te voeren, en er verschijnt een pop-upvenster dat u eraan herinnert alleen de tekst in te voeren die u wilt markeren, zie screenshot:
4. Klik vervolgens op de knop OK, alle tekst die u hebt opgegeven is alleen binnen de cellen gemarkeerd, zie screenshot:
![]() | ![]() | ![]() |
VBA-code: Markeer meerdere trefwoorden uit tekstreeksen:
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
Voer vervolgens in het pop-upvenster de trefwoorden in die u wilt markeren (scheid de woorden met een komma), zie screenshot:
Klik vervolgens op de knop OK, de opgegeven woorden zijn meteen gemarkeerd, zie screenshots:
![]() | ![]() | ![]() |
Opmerking: De bovenstaande codes zijn hoofdlettergevoelig.
Markeer één of meer specifieke teksten binnen meerdere cellen met een geweldige functie
Als u niet bekend bent met code in Excel, hier introduceer ik een eenvoudig hulpmiddel - Kutools voor Excel, met de functie Markeer trefwoorden kunt u één of meer specifieke trefwoorden tegelijk markeren binnen de cellen.
Nadat u Kutools voor Excel heeft geïnstalleerd, doe dan als volgt:
1. Klik op Kutools > Tekst > Markeer trefwoorden, zie screenshot:
2. Voer in het dialoogvenster Markeer trefwoorden de volgende handelingen uit:
- Selecteer het gegevensbereik dat u wilt gebruiken in het Bereik tekstvak;
- Selecteer de cellen die de trefwoorden bevatten die u wilt markeren, u kunt ook de trefwoorden handmatig invoeren (gescheiden door een komma) in het tekstvak Trefwoord
- Tot slot moet u een lettertypekleur specificeren om de teksten te markeren door de optie Lettertypekleur van trefwoord aan te vinken. (Om de hele cellen die de trefwoorden bevatten te kleuren, selecteert u de optie Celinhoudkleur van trefwoord)
3. Klik vervolgens op de knop Ok, alle opgegeven teksten zijn gemarkeerd zoals in de onderstaande schermafbeelding te zien is:
Opmerking: Deze functie is niet hoofdlettergevoelig, als u de tekst met hoofdlettergevoeligheid wilt markeren, vink dan Overeenkomst in het dialoogvenster Markeer trefwoorden aan.
Markeer specifieke tekst binnen een cel op basis van andere tekst met VBA-code
Hier is een andere situatie, ik heb twee kolommen waarbij de eerste kolom de tekstreeksen bevat en de tweede kolom de specifieke tekst, nu moet ik de relevante tekst in de eerste kolom markeren op basis van de specifieke tekst in de tweede kolom voor elke rij.
1. Houd de toetsen ALT + F11 ingedrukt om het venster Microsoft Visual Basic for Applications te openen.
2. Klik op Invoegen > Module, en plak de volgende code in het Modulevenster.
VBA-code: Markeer een deel van de tekst binnen een cel op basis van andere tekst:
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. Nadat u de code hebt geplakt, drukt u op de toets F5 om deze uit te voeren, een pop-upvenster verschijnt om u eraan te herinneren het gegevensbereik te selecteren dat zowel de tekstreeks als de specifieke tekst bevat die u wilt markeren en waarop u wilt baseren, zie screenshot:
4. Klik vervolgens op de knop OK, alle overeenkomstige tekst in de eerste kolom op basis van de specifieke tekst in de tweede kolom is rood gekleurd zoals in de volgende schermafbeelding te zien is:
Meer gerelateerde artikelen:
- Dikgedrukte tekst bij samenvoegen van twee kolommen in Excel
- In een Excel-werkblad, na het samenvoegen van twee celwaarden met formules, merkt u misschien dat het niet mogelijk is om een deel van de tekst vet te maken in de gecombineerde formulecel. Dit kan soms irritant zijn, hoe kunt u een deel van de tekst vetmaken bij het samenvoegen van twee kolommen in Excel?
- Samenvoegen van celkolommen en behoud van tekstkleur in Excel
- Zoals we allemaal weten, terwijl we celkolommen samenvoegen of combineren tot één kolom, gaat de celopmaak (zoals tekstlettertypekleur, nummeropmaak, etc.) verloren. In dit artikel zal ik enkele trucs introduceren om de celkolommen samen te voegen tot één en de tekstkleur zo eenvoudig mogelijk te behouden in Excel.
- Toon specifieke tekst op basis van waarden in een andere kolom
- Stel dat ik een lijst met getallen heb, nu wil ik specifieke tekst in een andere kolom tonen op basis van deze kolomgetallen. Bijvoorbeeld, als het cijfer tussen 1-100 ligt, wil ik dat de tekst “Afname” wordt weergegeven in de aangrenzende cel, als het getal tussen 101-200 ligt, wordt de tekst “Stabiel” weergegeven, en als het getal groter is dan 200, wordt de tekst “Toename” weergegeven zoals in de volgende schermafbeelding te zien is. Om deze taak in Excel op te lossen, kunnen de volgende formules in dit artikel u helpen.
- Som van cellen met tekst en getallen in Excel
- Bijvoorbeeld, ik heb een lijst met waarden die numerieke en tekstuele strings bevatten, nu wil ik alleen de getallen optellen op basis van dezelfde tekst, kijk naar de volgende schermafbeelding. Normaal gesproken kunt u de waarden in de lijst met tekststring niet direct optellen, hier zal ik u enkele formules introduceren om deze taak te behandelen.
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!