Ga naar hoofdinhoud

Hoe specifieke tekst in een cel markeren op basis van andere tekst?

In Excel kan het voor ons gemakkelijk zijn om de cellen te markeren op basis van een specifieke tekst, maar hier wil ik een specifieke tekst in een cel markeren om deze opvallend te maken, maar niet de hele cel. Dit is voor de meesten van ons misschien lastig. In dit artikel zal ik het hebben over enkele trucs om deze taak in Excel op te lossen.


Markeer een of meer specifieke tekst in meerdere cellen met VBA-code

Ik heb bijvoorbeeld een reeks tekstreeksen en nu wil ik de specifieke tekst markeren "Hemel”In deze cellen om het resultaat te krijgen als volgende schermafbeeldingen:

Om slechts een deel van de tekst in een cel te markeren, kan de volgende VBA-code u helpen.

1. Selecteer de cellen waarvan u de specifieke tekst wilt markeren en houd vervolgens de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.

VBA-code: markeer een deel van de tekst in 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 F5 toets om deze code uit te voeren, en er verschijnt een promptvenster om u eraan te herinneren de tekst in te voeren die u alleen wilt markeren, zie screenshot:

4. En klik vervolgens op OK knop, is alle tekst die u hebt opgegeven alleen in de cellen gemarkeerd, zie screenshot:

Tips: Als u meerdere trefwoorden uit de tekstreeksen moet markeren, past u de onderstaande code toe:
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 uitgeklapte vak de trefwoorden in die u wilt markeren (scheid de woorden met een komma), zie screenshot:

En klik dan OK knop, zijn de opgegeven woorden in één keer gemarkeerd, zie screenshots:

Note: De bovenstaande codes zijn hoofdlettergevoelig.


Markeer een of meer specifieke tekst in meerdere cellen met een geweldige functie

Als u niet bekend bent met de code in Excel, zal ik hier een eenvoudige tool introduceren - Kutools for Excel, Met Markeer trefwoord functie, kunt u de specifieke een of meer trefwoorden tegelijk in de cellen markeren.

Opmerking:Om deze toe te passen Markeer trefwoord functies, ten eerste moet u het Kutools for Excelen pas de functies vervolgens snel en eenvoudig toe.

Na het installeren van Kutools for Excelgaat u als volgt te werk:

1. Klikken Kutools > Tekst > Markeer trefwoord, zie screenshot:

2. In de Markeer trefwoord dialoogvenster, voer dan de volgende bewerkingen uit:

  • Selecteer het gegevensbereik dat u wilt gebruiken in het RANGE tekstvak;
  • Selecteer de cellen die de trefwoorden bevatten die u wilt markeren, u kunt de trefwoorden ook handmatig invoeren (gescheiden door komma's) in het Keyword tekstvak
  • Ten slotte moet u een lettertypekleur specificeren om de teksten per cheque te markeren Markeer trefwoordkleuren keuze. (Om de volledige cellen met de trefwoorden te kleuren, selecteert u de Markeer de kleuren van de celinhoud optioneel)

3. Dan klikken Ok knop, zijn alle gespecificeerde teksten gemarkeerd zoals onderstaand screenshot getoond:

Note: Deze functie is niet hoofdlettergevoelig. Als u de tekst hoofdlettergevoelig wilt markeren, vink dan aan match Case in de Markeer trefwoord dialoog venster.


Markeer specifieke tekst in een cel op basis van andere tekst met VBA-code

Hier is een andere situatie, ik heb twee kolommen waarvan de eerste kolom de tekstreeksen bevat en de tweede kolom de specifieke tekst, nu moet ik de relatieve tekst in de eerste kolom markeren op basis van de specifieke tekst in de tweede kolom voor elk rij.

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.

VBA-code: markeer een deel van de tekst in 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. Na het plakken van de code, en druk op F5 toets om het uit te voeren, verschijnt er een promptvenster om u eraan te herinneren het gegevensbereik te selecteren dat zowel de tekstreeks als de specifieke tekst bevat die u wilt markeren en op basis van, zie screenshot:

4. En klik vervolgens op OK knop, is alle corresponderende tekst in de eerste kolom gebaseerd op de specifieke tekst in de tweede kolom rood gekleurd als volgt:


Meer relatieve artikelen:

  • Vetgedrukte tekst bij het samenvoegen van twee kolommen in Excel
  • In het Excel-werkblad, na het samenvoegen van twee celwaarden met formules, kan het zijn dat het deel van de tekst in de gecombineerde formulecel niet vetgedrukt is. Dit kan soms vervelend zijn, hoe zou u de gedeeltelijke tekst vet kunnen maken bij het samenvoegen van twee kolommen in Excel?
  • Voeg celkolommen samen en behoud de tekstkleur in Excel
  • Zoals we allemaal weten, gaat bij het aaneenschakelen of combineren van celkolommen in één kolom de celopmaak (zoals tekstkleur, nummeropmaak, enz.) Verloren. In dit artikel zal ik enkele trucs introduceren om de celkolommen in één te combineren en de tekstkleur zo gemakkelijk mogelijk in Excel te behouden.
  • Geef specifieke tekst weer op basis van waarden in een andere kolom
  • Stel dat ik een lijst met getallen heb, nu wil ik wat specifieke tekst in een andere kolom weergeven op basis van deze kolomnummers. Als het celnummer bijvoorbeeld tussen 1-100 ligt, wil ik dat de tekst 'Verlagen' wordt weergegeven in de aangrenzende cel, als het nummer tussen 101-200 ligt, wordt de tekst 'Stabiel' weergegeven en als het aantal groter is dan 200 , wordt een tekst "Verhogen" weergegeven zoals in het volgende screenshot. Om deze taak in Excel op te lossen, kunnen de volgende formules in dit artikel u helpen.
  • Somcellen met tekst en cijfers in Excel
  • Ik heb bijvoorbeeld een lijst met waarden met numerieke en tekstuele strings, 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 niet rechtstreeks met een tekstreeks optellen, hier zal ik u enkele formules voorstellen om met deze taak om te gaan.

Beste Office-productiviteitstools

🤖 Kutools AI-assistent: Een revolutie teweegbrengen in de data-analyse op basis van: Intelligente uitvoering   |  Genereer code  |  Aangepaste formules maken  |  Analyseer gegevens en genereer grafieken  |  Roep Kutools-functies aan...
Populaire functies: Zoek, markeer of identificeer duplicaten   |  Verwijder lege rijen   |  Combineer kolommen of cellen zonder gegevens te verliezen   |   Ronde zonder formule ...
Super opzoeken: Meerdere criteria VLookup    VLookup met meerdere waarden  |   VOpzoeken over meerdere bladen   |   Fuzzy opzoeken ....
Geavanceerde vervolgkeuzelijst: Maak snel een vervolgkeuzelijst   |  Afhankelijke vervolgkeuzelijst   |  Multi-select vervolgkeuzelijst ....
Kolom Beheerder: Voeg een specifiek aantal kolommen toe  |  Kolommen verplaatsen  |  Schakel de zichtbaarheidsstatus van verborgen kolommen in  |  Vergelijk bereiken en kolommen ...
Uitgelichte functies: Raster focus   |  Ontwerpweergave   |   Grote formulebalk    Werkmap- en bladbeheer   |  resource Library (Auto-tekst)   |  Datumkiezer   |  Combineer werkbladen   |  Cellen coderen/decoderen    Stuur e-mails per lijst   |  Super filter   |   Speciaal filter (filter vet/cursief/doorhalen...) ...
Top 15 gereedschapsets12 Tekst Tools (toe te voegen tekst, Tekens verwijderen, ...)   |   50+ tabel Types (Gantt Chart, ...)   |   40+ Praktisch Formules (Bereken leeftijd op basis van verjaardag, ...)   |   19 Invoeging Tools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...)   |   12 Camper ombouw Tools (Getallen naar woorden, Currency Conversion, ...)   |   7 Samenvoegen en splitsen Tools (Geavanceerd Combineer rijen, Gespleten cellen, ...)   |   ... en meer

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen.  Klik hier om de functie te krijgen die u het meest nodig heeft...

Omschrijving


Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
Comments (39)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thank you for "Highlight A Specific Text Within Multiple Cells With VBA Code" It works great. Would you please explain:
I need remove "Highlight"

so what can I do

thanks
This comment was minimized by the moderator on the site
Hello, Mukesh
If you want to delete the specific text from multiple cells, you can apply the Find & Replace feature in Excel.
You just need to enter the specific text that you want to delete into the Find textbox, and leave the Replace box blank, at last, click Replace All to get your results.
Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
This is amazing! One question: Is there any way that an Undo (CTRL+Z) can be used after running this?
This comment was minimized by the moderator on the site
Hello, ChristineW,The vba codes can't support Undo, so when applying the code, you'd better copy and paste the original data to another sheet first.If you use Kutools for Excel, the utility support Undo.
This comment was minimized by the moderator on the site
JUST WANT TO SLAY THANK YOU AS THE VBA FORMULA WORKS FOR ME... IT AWESOME.
This comment was minimized by the moderator on the site
Wow! Thank you!
This comment was minimized by the moderator on the site
Awesome. thanks
This comment was minimized by the moderator on the site
This was very useful, thanks very much!
This comment was minimized by the moderator on the site
Hi,
Please any one help me. I want to highlight the specific number in same sentence. For ex : " 2 days leave scansion" want to highlight only "2" in sentence.
This comment was minimized by the moderator on the site
Hi, anyone help me this. i want to highlight the Specific number in Cell within the same sentence. for Ex : " 2 days leave scansion " in this sentence want to highlight number.
This comment was minimized by the moderator on the site
Hi,
could anyone help me with the following

my Cells in Column "G" contain the text from Column Z to AN, not compulsory that Column g contains all the text from Z to AN.

My work here is to Highlight the text in Column G if it does not available in any of Column Z - AN

For example : Cell G1 contains (Hello sir I am doing well) but The text "Sir" do not exist in Column "Z1" to "AN1"

So i need to highlight the text "Sir"
This comment was minimized by the moderator on the site
i get a run-time error '13', type mismatch when i run the script. any suggestions?
This comment was minimized by the moderator on the site
I had the same issue; I found that one of my collumns were formulas and it was looking in them which was what triggered the error 13. Selected a range wihtout formula containing the text to highlight and it worked.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations