Hoppa till huvudinnehåll

Hur markerar du specifik text i en cell baserat på annan text?

I Excel kan det vara lätt för oss att markera cellerna baserat på en specifik text, men här vill jag markera en specifik text i en cell för att göra den enastående men inte hela cellen. Detta kanske är besvärligt för de flesta av oss. Den här artikeln kommer jag att prata om några knep för att lösa detta jobb i Excel.


Markera en eller flera specifika texter i flera celler med VBA-kod

Till exempel har jag en rad textsträngar och nu vill jag markera den specifika texten ”Himmel”I dessa celler för att få resultatet som följande skärmdumpar visas:

För att bara markera en del av texten i en cell kan följande VBA-kod hjälpa dig.

1. Markera de celler som du vill markera den specifika texten och håll ned ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Markera en del av texten i en cell:

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. Tryck sedan på F5 nyckel för att köra den här koden, och en snabbruta kommer att dyka upp för att påminna dig om att du anger texten som du bara vill markera, se skärmdump:

4. Och klicka sedan på OK -knappen, all text du angett har bara markerats i cellerna, se skärmdump:

tips: Om du behöver markera flera nyckelord från textsträngarna, använd följande kod:
VBA-kod: Markera flera nyckelord från textsträngar:
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

Ange sedan de nyckelord som du vill markera i den utpekade rutan (separera orden med ett komma), se skärmdump:

Och klicka sedan på OK knappen har de angivna orden markerats på en gång, se skärmdumpar:

Anmärkningar: Ovanstående koder är skiftlägeskänsliga.


Markera en eller flera specifika texter i flera celler med en fantastisk funktion

Om du inte känner till koden i Excel kommer jag här att introducera ett enkelt verktyg - Kutools för Excel, med dess Markera nyckelord funktionen kan du markera det specifika ett eller flera nyckelord samtidigt i cellerna.

Notera:För att tillämpa dessa Markera nyckelord funktioner, först bör du ladda ner Kutools för Excel, och använd sedan funktionerna snabbt och enkelt.

När du har installerat Kutools för Excel, gör så här:

1. Klicka Kutools > text > Markera nyckelord, se skärmdump:

2. I Markera nyckelord dialogrutan, gör följande:

  • Välj det dataområde som du vill använda från Mätområde textruta;
  • Välj cellerna som innehåller de nyckelord som du vill markera, du kan också ange nyckelorden manuellt (åtskilda med komma) i Nyckelord textruta
  • Äntligen bör du ange en teckensnittsfärg för att markera texterna med kryss Markera nyckelordets färger alternativ. (Om du vill färga hela cellerna som innehåller nyckelorden väljer du Markera cellinnehållets färger alternativ)

3. Klicka sedan Ok -knappen, alla angivna texter har markerats enligt nedanstående skärmdump:

Anmärkningar: Den här funktionen är inte skiftlägeskänslig, om du vill markera texten med skiftlägeskänslighet, kontrollera match Case i Markera nyckelord dialog ruta.


Markera specifik text i en cell baserat på annan text med VBA-kod

Här är en annan situation, jag har två kolumner där den första kolumnen innehåller textsträngarna och den andra kolumnen är den specifika texten, nu måste jag markera den relativa texten i den första kolumnen baserat på den specifika texten i den andra kolumnen för varje rad.

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Markera en del av texten i en cell baserat på annan text:

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. Efter att ha klistrat in koden och tryck på F5 för att köra den, kommer en snabbruta att dyka upp för att påminna dig om att välja dataområdet som både innehåller textsträngen och specifik text du vill markera och baserat på, se skärmdump:

4. Och klicka sedan på OK -knappen, all motsvarande text i den första kolumnen baserat på den specifika texten i den andra kolumnen har färgats rött som följande skärmdump:


Fler relativa artiklar:

  • Fet text när två kolumner sammanfogas i Excel
  • I Excel-kalkylbladet, efter att ha sammanfogat två cellvärden med formler, kan det hända att det inte kommer att fetstil en del av texten i den kombinerade formelcellen. Det här kan vara irriterande ibland, hur kan du fet texttext när du sammanfogar två kolumner i Excel?
  • Sammankoppla cellkolumner och behåll textfärg i Excel
  • När vi sammanfogar eller kombinerar cellkolumner i en kolumn kommer cellformateringen att gå förlorad (som vi alla känner till). Den här artikeln kommer jag att presentera några knep för att kombinera cellkolumnerna i en och hålla textfärgen så lätt som möjligt i Excel.
  • Visa specifik text baserat på värden i en annan kolumn
  • Antag att jag har en lista med siffror, nu vill jag visa en viss text i en annan kolumn baserat på de här kolumnnumren. Till exempel, om cellnumret är mellan 1-100 vill jag att texten "Minska" ska visas i intilliggande cell, om siffran är mellan 101-200 visas en text "Stabil" och om siffran är större än 200 , visas texten "Öka" som följande skärmdump visas. För att lösa denna uppgift i Excel kan följande formler i den här artikeln hjälpa dig.
  • Summa celler med text och siffror i Excel
  • Till exempel har jag en lista med värden som innehåller numeriska och textsträngar, nu vill jag bara summera siffrorna baserat på samma text, titta på följande skärmdump. Normalt kan du inte summera värdena i listan med textsträng direkt, här presenterar jag några formler för att hantera denna uppgift.

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje 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