Vai al contenuto principale

Come evidenziare un testo specifico all'interno di una cella in base ad altro testo?

In Excel, potrebbe essere facile per noi evidenziare le celle in base a un testo specifico, ma, qui, voglio evidenziare un testo specifico all'interno di una cella per renderlo eccezionale ma non l'intera cella. Questo forse è un problema per la maggior parte di noi. In questo articolo, parlerò di alcuni trucchi per risolvere questo lavoro in Excel.


Evidenzia uno o più testi specifici all'interno di più celle con codice VBA

Ad esempio, ho un intervallo di stringhe di testo e ora desidero evidenziare il testo specifico "Cielo"In queste celle per ottenere il risultato come mostrato nelle seguenti schermate:

Per evidenziare solo una parte del testo all'interno di una cella, il seguente codice VBA può aiutarti.

1. Seleziona le celle in cui desideri evidenziare il testo specifico, quindi tieni premuto il tasto ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Modulie incolla il codice seguente nel file Moduli Finestra.

Codice VBA: evidenzia una parte di testo all'interno di una cella:

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. Quindi premere F5 tasto per eseguire questo codice e verrà visualizzata una finestra di messaggio per ricordarti di inserire il testo che desideri evidenziare, vedi screenshot:

4. E poi clicca OK pulsante, tutto il testo specificato è stato evidenziato solo all'interno delle celle, vedi screenshot:

Suggerimenti:: Se è necessario evidenziare più parole chiave dalle stringhe di testo, applicare il codice seguente:
Codice VBA: evidenzia più parole chiave dalle stringhe di testo:
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

Quindi, nella casella spuntata, inserisci le parole chiave che desideri evidenziare, (separa le parole con una virgola), vedi screenshot:

Quindi fare clic su OK pulsante, le parole specificate sono state evidenziate contemporaneamente, vedi screenshot:

Note:: I codici precedenti fanno distinzione tra maiuscole e minuscole.


Evidenzia uno o più testi specifici all'interno di più celle con una funzionalità straordinaria

Se non hai familiarità con il codice in Excel, qui introdurrò uno strumento semplice: Kutools for Excel, Con la sua Contrassegna parola chiave è possibile evidenziare una o più parole chiave specifiche contemporaneamente all'interno delle celle.

Nota:Per applicarli Contrassegna parola chiave caratteristiche, in primo luogo, dovresti scaricare il file Kutools for Excele quindi applicare le funzionalità in modo rapido e semplice.

Dopo l'installazione Kutools for Excel, si prega di fare come segue:

1. Clic Kutools > Testo > Contrassegna parola chiave, vedi screenshot:

2. Nel Contrassegna parola chiave finestra di dialogo, eseguire le seguenti operazioni:

  • Seleziona l'intervallo di dati che desideri utilizzare dal file Escursione casella di testo;
  • Seleziona le celle che contengono le parole chiave che desideri evidenziare, puoi anche inserire le parole chiave manualmente (separate da virgola) nel file Parola chiave Casella di testo
  • Infine, dovresti specificare un colore del carattere per evidenziare i testi con un segno di spunta Contrassegna i colori delle parole chiave opzione. (Per colorare le intere celle contenenti le parole chiave, seleziona il file Contrassegna i colori del contenuto della cella opzione)

3. Quindi, fare clic Ok pulsante, tutti i testi specificati sono stati evidenziati come mostrato nell'immagine sottostante:

Note:: Questa funzione non fa distinzione tra maiuscole e minuscole, se vuoi evidenziare il testo con distinzione tra maiuscole e minuscole, controlla caso partita nel Contrassegna parola chiave la finestra di dialogo.


Evidenzia un testo specifico all'interno di una cella in base ad altro testo con codice VBA

Ecco un'altra situazione, ho due colonne in cui la prima colonna contiene le stringhe di testo e la seconda colonna è il testo specifico, ora, devo evidenziare il testo relativo nella prima colonna in base al testo specifico nella seconda colonna per ciascuna riga.

1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Modulie incolla il codice seguente nel file Moduli Finestra.

Codice VBA: evidenzia una parte di testo all'interno di una cella in base ad altro testo:

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. Dopo aver incollato il codice e premere F5 tasto per eseguirlo, verrà visualizzata una finestra di messaggio per ricordarti di selezionare l'intervallo di dati che contiene sia la stringa di testo che il testo specifico che desideri evidenziare e sulla base, vedi screenshot:

4. E poi clicca OK pulsante, tutto il testo corrispondente nella prima colonna in base al testo specifico nella seconda colonna è stato colorato in rosso come nella seguente schermata:


Articoli più relativi:

  • Testo della parte in grassetto quando si concatenano due colonne in Excel
  • Nel foglio di lavoro di Excel, dopo aver concatenato due valori di cella con le formule, potresti scoprire che non sarà in grassetto parte del testo nella cella della formula combinata. Questo può essere fastidioso a volte, come potresti mettere in grassetto il testo della parte quando concatenate due colonne in Excel?
  • Concatena le colonne delle celle e mantieni il colore del testo in Excel
  • Come tutti sappiamo, durante la concatenazione o la combinazione di colonne di celle in una colonna, la formattazione della cella (come il colore del carattere del testo, la formattazione del numero, ecc.) Andrà persa. In questo articolo, introdurrò alcuni trucchi per combinare le colonne delle celle in una e mantenere il colore del testo il più facilmente possibile in Excel.
  • Visualizza testo specifico in base ai valori in un'altra colonna
  • Supponendo, ho un elenco di numeri, ora, voglio visualizzare un testo specifico in un'altra colonna in base ai numeri di questa colonna. Ad esempio, se il numero di cella è compreso tra 1-100, desidero che il testo "Diminuisca" sia visualizzato nella cella adiacente, se il numero è compreso tra 101-200, viene visualizzato un testo "Stabile" e se il numero è maggiore di 200 , viene visualizzato un testo "Aumenta" come mostrato nella seguente schermata. Per risolvere questa attività in Excel, le seguenti formule in questo articolo potrebbero aiutarti.
  • Somma le celle con testo e numeri in Excel
  • Ad esempio, ho un elenco di valori contenenti stringhe numeriche e di testo, ora, voglio sommare solo i numeri in base allo stesso testo, guarda lo screenshot seguente. Normalmente, non puoi sommare i valori nell'elenco direttamente con una stringa di testo, qui ti presenterò alcune formule per affrontare questa attività.

I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...

Descrizione


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
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