Come evidenziare un testo specifico all'interno di una cella in base a un altro testo?
In Excel potrebbe essere semplice evidenziare le celle in base a un testo specifico, ma qui si desidera evidenziare solo una parte del testo all’interno di una cella per renderla più visibile, senza evidenziare l’intera cella. Questo potrebbe risultare difficoltoso per molti utenti. In questo articolo illustrerò alcuni trucchi per risolvere questo problema in Excel.

Evidenzia uno o più testi specifici all'interno di celle multiple con codice VBA
Ad esempio, si dispone di un intervallo di stringhe di testo e ora si desidera evidenziare il testo specifico «Sky» in queste celle per ottenere il risultato mostrato negli screenshot seguenti:
![]() | ![]() | ![]() |
Per evidenziare solo una parte del testo all’interno di una cella, il seguente codice VBA ti sarà d’aiuto.
1. Seleziona le celle in cui desideri evidenziare il testo specifico, quindi tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.
2. Fai clic su Inserisci > Modulo, quindi incolla il codice seguente nella finestra del modulo.
Codice VBA: evidenzia una parte del 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. Premi quindi il tasto F5 per eseguire il codice: apparirà una finestra di dialogo che ti chiederà di inserire il testo da evidenziare. Vedi lo screenshot:

4. Fai quindi clic sul pulsante OK e tutto il testo specificato verrà evidenziato all’interno delle celle, come mostrato nello screenshot:
![]() | ![]() | ![]() |
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 finestra visualizzata, inserisci le parole chiave che desideri evidenziare (separa le parole con una virgola), vedi lo screenshot:
Successivamente, fai clic sul pulsante OK, e le parole specificate saranno immediatamente evidenziate, vedi gli screenshot:
![]() | ![]() | ![]() |
Nota: i codici indicati sopra fanno distinzione tra maiuscole e minuscole.
Evidenzia uno o più testi specifici all'interno di celle multiple con una funzionalità straordinaria
Se non hai dimestichezza con il codice in Excel, ti presento uno strumento semplice e intuitivo: Kutools per Excel, con la sua funzionalità Contrassegno parole chiave, che ti permette di evidenziare contemporaneamente una o più parole chiave specifiche all’interno delle celle.
Dopo aver installato Kutools per Excel, procedi come segue:
1. Fai clic su Kutools > Testo > Contrassegno parole chiave, vedi lo screenshot:

2. Nella finestra di dialogo Contrassegno parole chiave, esegui le seguenti operazioni:
- Seleziona l’Intervallo dati da utilizzare dal campo Intervallo;
- Seleziona le celle contenenti le parole chiave da evidenziare oppure inseriscile manualmente (separate da virgole) nel campo Parola chiave
- Infine, specifica un colore del carattere per evidenziare il testo selezionando l’opzione Colore del font della parola chiave. (Per colorare l’intera cella contenente le parole chiave, seleziona l’opzione)Colore del contenuto della cella.)

3. Fai quindi clic sul pulsante Ok e tutti i testi specificati verranno evidenziati, come mostrato nello screenshot seguente:

Nota: questa funzionalità non distingue tra maiuscole e minuscole; se desideri evidenziare il testo rispettando l’uso di maiuscole e minuscole, seleziona l’opzione Maiuscole/minuscole nella finestra di dialogo Contrassegno parole chiave.
Evidenzia un testo specifico all'interno di una cella in base ad altro testo con codice VBA
Ecco un’altra situazione: si hanno due colonne, la prima contenente stringhe di testo e la seconda il testo specifico. Ora si vuole evidenziare, per ogni riga, il testo corrispondente nella prima colonna in base al testo specifico presente nella seconda colonna.

1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.
2. Fai clic su Inserisci>Modulo, quindi incolla il codice seguente nella finestra Modulo.
Codice VBA: evidenzia una parte del 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, premi il tasto F5 per eseguirlo: apparirà una finestra di dialogo che ti chiederà di selezionare l’intervallo dati contenente sia la stringa di testo sia il testo specifico da evidenziare e da usare come riferimento. Vedi lo screenshot:

4. Fai quindi clic sul pulsante OK e tutto il testo corrispondente nella prima colonna, in base al testo specifico nella seconda colonna, verrà colorato in rosso, come mostrato nello screenshot seguente:

Altri articoli correlati:
- Grassetto su parte del testo durante la concatenazione di due colonne in Excel
- Nel foglio di lavoro di Excel, dopo aver concatenato i valori di due celle mediante formule, potresti accorgerti che non è possibile applicare il grassetto solo a una parte del testo nella cella risultante. Questo limite può rivelarsi fastidioso in alcune situazioni: come si fa ad applicare il grassetto a una porzione specifica del testo durante la concatenazione di due colonne in Excel?
- Concatena colonne di celle e mantieni il colore del testo in Excel
- Come ben sappiamo, quando si concatenano o combinano più colonne di celle in un’unica colonna, la formattazione originale delle celle — come il colore del carattere o la formattazione numerica — viene persa. In questo articolo ti mostrerò alcuni trucchi semplici ed efficaci per unire le colonne in Excel mantenendo intatto il colore del testo.
- Visualizza un testo specifico In base al valore in un'altra colonna
- Immagina di avere un elenco di numeri e di voler visualizzare un testo specifico in un’altra colonna in base al valore di ciascun numero. Ad esempio, se il numero nella cella è compreso tra 1 e 100, nella cella adiacente dovrebbe apparire «Decrease»; se è compreso tra 101 e 200, il testo visualizzato deve essere «Stable»; infine, se il numero supera 200, deve comparire «Increase», come illustrato nello screenshot seguente. Per portare a termine questo compito in Excel, le formule presentate in questo articolo ti saranno di grande aiuto.
- Somma celle con Dividi per testo e numero in Excel
- Ad esempio, si dispone di un elenco di valori contenenti stringhe numeriche e testuali e si desidera sommare soltanto i numeri in base allo stesso testo, come illustrato nello screenshot seguente. Normalmente non è possibile sommare direttamente i valori dell’elenco contenenti stringhe di testo; in questo articolo ti presenterò alcune formule per gestire questo compito.
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- 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 all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi



