Salt la conținutul principal

Cum să evidențiați textul specific dintr-o celulă pe baza altui text?

În Excel, poate fi ușor pentru noi să evidențiem celulele pe baza unui anumit text, dar, aici, doresc să evidențiez un anumit text într-o celulă pentru a-l face remarcabil, dar nu întreaga celulă. Poate că este o problemă pentru majoritatea dintre noi. În acest articol, voi vorbi despre câteva trucuri pentru rezolvarea acestei sarcini în Excel.


Evidențiați unul sau mai multe texte specifice în mai multe celule cu cod VBA

De exemplu, am o serie de șiruri de text și acum vreau să evidențiez textul specific „Cer”În aceste celule pentru a obține rezultatul, după cum urmează:

Pentru a evidenția doar o parte a textului dintr-o celulă, următorul cod VBA vă poate ajuta.

1. Selectați celulele pe care doriți să le evidențiați textul specific, apoi țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în Module Fereastră.

Cod VBA: Evidențiați o parte a textului într-o celulă:

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. Apoi apăsați F5 tasta pentru a rula acest cod și va apărea o casetă de solicitare pentru a vă reaminti să introduceți textul pe care doriți să îl evidențiați numai, vedeți captura de ecran:

4. Apoi faceți clic pe OK buton, tot textul pe care l-ați specificat a fost evidențiat numai în celule, consultați captura de ecran:

sfaturi: Dacă trebuie să evidențiați mai multe cuvinte cheie din șirurile de text, vă rugăm să aplicați codul de mai jos:
Cod VBA: evidențiați mai multe cuvinte cheie din șiruri de text:
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

Apoi, în caseta deschisă, introduceți cuvintele cheie pe care doriți să le evidențiați (separați cuvintele cu virgulă), vedeți captura de ecran:

Apoi, faceți clic OK , cuvintele specificate au fost evidențiate simultan, vedeți capturi de ecran:

notițe: Codurile de mai sus sunt sensibile la majuscule și minuscule.


Evidențiați unul sau mai multe texte specifice în mai multe celule cu o caracteristică uimitoare

Dacă nu sunteți familiarizați cu codul din Excel, aici, voi introduce un instrument ușor - Kutools pentru Excel, Cu său Marcați cuvântul cheie caracteristică, puteți evidenția unul sau mai multe cuvinte cheie în același timp în celule.

Notă:Pentru a aplica acestea Marcați cuvântul cheie caracteristici, în primul rând, ar trebui să descărcați fișierul Kutools pentru Excel, apoi aplicați caracteristicile rapid și ușor.

După instalare Kutools pentru Excel, vă rugăm să faceți următoarele:

1. Clic Kutools > Text > Marcați cuvântul cheie, vezi captura de ecran:

2. În Marcați cuvântul cheie caseta de dialog, vă rugăm să efectuați următoarele operații:

  • Selectați intervalul de date pe care doriți să îl utilizați din Gamă casetă de text;
  • Selectați celulele conține cuvintele cheie pe care doriți să le evidențiați, puteți introduce cuvintele cheie manual (separate prin virgulă) în Cuvânt cheie casetă de text
  • În cele din urmă, ar trebui să specificați o culoare de font pentru a evidenția textele prin bifare Marcați culorile cuvintelor cheie opțiune. (Pentru a colora întreaga celulă care conține cuvintele cheie, selectați Marcați culorile conținutului celulei opțiune)

3. Apoi apasa Ok buton, toate textele specificate au fost evidențiate după cum se arată în imaginea de mai jos:

notițe: Această caracteristică nu ține cont de majuscule și minuscule, dacă doriți să evidențiați textul cu sensibilitate la majuscule și minuscule, vă rugăm să verificați Se potrivește caz în Marcați cuvântul cheie căsuță de dialog.


Evidențiați textul specific într-o celulă pe baza altui text cu cod VBA

Iată o altă situație, am două coloane în care prima coloană conține șiruri de text și a doua coloană este textul specific, acum, trebuie să evidențiez textul relativ în prima coloană pe baza textului specific din a doua coloană pentru fiecare rând.

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în Module Fereastră.

Cod VBA: evidențiați o parte a textului într-o celulă bazată pe alt 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. După lipirea codului și apăsați F5 tasta pentru al rula, se va afișa o casetă de solicitare pentru a vă reaminti să selectați intervalul de date care conține șirul de text și textul specific pe care doriți să le evidențiați și pe care să le bazați, a se vedea captura de ecran:

4. Apoi faceți clic pe OK butonul, tot textul corespunzător din prima coloană bazat pe textul specific din a doua coloană a fost colorat în roșu ca următoarea captură de ecran:


Mai multe articole relative:

  • Concatenează coloanele celulei și păstrează culoarea textului în Excel
  • Așa cum știam cu toții, în timp ce concatenați sau combinați coloane de celule într-o singură coloană, formatarea celulei (cum ar fi culoarea fontului textului, formatarea numărului etc.) se va pierde. În acest articol, voi introduce câteva trucuri pentru a combina coloanele de celule într-una și pentru a păstra culoarea textului cât mai ușor posibil în Excel.
  • Afișați text specific bazat pe valori într-o altă coloană
  • Presupunând că am o listă de numere, acum vreau să afișez un anumit text într-o altă coloană pe baza acestor numere de coloană. De exemplu, dacă numărul celulei este cuprins între 1-100, vreau ca textul „Scădere” să fie afișat în celula alăturată, dacă numărul este între 101-200, este afișat un text „Stabil” și dacă numărul mai mare de 200 , se afișează un text „Creștere” după cum se arată în următoarea captură de ecran. Pentru a rezolva această sarcină în Excel, următoarele formule din acest articol vă pot ajuta.
  • Suma de celule cu text și numere în Excel
  • De exemplu, am o listă de valori care conțin șiruri numerice și textuale, acum, vreau să însumez numai numerele pe baza aceluiași text, uitați-vă la următoarea captură de ecran. În mod normal, nu puteți însuma direct valorile din listă cu șir de text direct, aici, vă voi prezenta câteva formule pentru a face față acestei sarcini.

Cele mai bune instrumente de productivitate de birou

Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

fila kte 201905


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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