Note: The other languages of the website are Google-translated. Back to English

Come colorare o evidenziare determinate parole nelle celle in Excel?

Se una cella contiene più parole, come puoi evidenziare una determinata parola solo in questa cella? E che ne dici di evidenziare questa determinata parola in più celle? Questo articolo fornirà un metodo per ottenerlo.

Colora determinate parole in una singola cella / più celle con codice VBA


Colora determinate parole in una singola cella / più celle con codice VBA

Il seguente codice VBA può aiutarti a evidenziare una determinata parola in una selezione. Si prega di fare quanto segue.

1. Seleziona l'intervallo che contiene le celle in cui desideri evidenziare una determinata parola. Quindi premere il pulsante altro + F11 tasti contemporaneamente per aprire il file Microsoft Visual Basic, Applications Edition finestra.

2. In apertura Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Modulo. Quindi copia e incolla il codice VBA nella finestra del codice.

Codice VBA: colora determinate parole nelle celle in Excel

Sub HighlightStrings()
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Application.ScreenUpdating = True
End Sub

3. premi il F5 chiave per eseguire il codice. E nel Kutools for Excel finestra di dialogo, inserisci la parola specifica che evidenzierai nelle celle, quindi fai clic su OK pulsante. Vedi screenshot:

Quindi puoi vedere tutte le parole che hai specificato sono colorate in rosso nelle celle selezionate immediatamente come mostrato nell'immagine sottostante.


Articoli correlati:


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il 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!
fondo officetab
Commenti (23)
Rinomato 5 su 5 · Valutazioni 1
Questo commento è stato fatto dal moderatore sul sito
Non spieghi come aprire la "finestra di dialogo Kutools for Excel" a cui si fa riferimento nell'ultimo passaggio.
Questo commento è stato fatto dal moderatore sul sito
Caro Giustino,
Mi dispiace per quello. Dopo aver incollato il codice VBA nella finestra del codice, premere il tasto F5 per eseguire il codice, quindi verrà aperta la finestra di dialogo "Ktools for Excel". Grazie.
Questo commento è stato fatto dal moderatore sul sito
C'è un modo per far sì che il codice evidenzi automaticamente le parole mentre modifico le schede?
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Spiacente, non posso aiutare con questo. Grazie per il tuo commento.
Questo commento è stato fatto dal moderatore sul sito
GRAZIE, GRAZIE, GRAZIE
Questo commento è stato fatto dal moderatore sul sito
Quisisera reseltar varias palabras al tiempo, como lo puedo hacer?
Questo commento è stato fatto dal moderatore sul sito
Eso es lo que estoy tratando de hacer tamiben (Questo è quello che sto cercando di fare anche io)
Questo commento è stato fatto dal moderatore sul sito
Nel caso in cui preferisci che la ricerca/evidenziazione non faccia distinzione tra maiuscole e minuscole, cambia la riga 'xArr = Split(xCell.Value, xHStr)' in 'xArr = Split(LCase(xCell.Value), LCase(xHStr))'. Inoltre, ho notato che premendo F5 non viene eseguito lo script (ma invece fornisce un'altra finestra modale). Vi ho effettuato l'accesso abilitando la scheda Sviluppatore utilizzando le opzioni di Excel (Personalizza barra multifunzione) e successivamente facendo clic su Macro.
Questo commento è stato fatto dal moderatore sul sito
Grazie... è stato molto utile! C'è un modo per regolare la macro in modo che evidenzi solo parole intere anziché parziali. Ad esempio, sto cercando di evidenziare la parola "design" ma evidenzia il "design" nella parola "designare". Voglio che salti quella parola se non è l'intera parola. Grazie!
Questo commento è stato fatto dal moderatore sul sito
Buongiorno,
Est-il possibile de supprimer la boite de dialog et de mettre par défaut "apple" comme mot recherché ?
grazie
Questo commento è stato fatto dal moderatore sul sito
Ciao PAUC,
Il codice seguente può farti un favore. Per favore, provalo.
Sub HighlightStrings()
'Updated by Extendoffice 20220721
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = "apple"
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Application.ScreenUpdating = True
End Sub
Questo commento è stato fatto dal moderatore sul sito
buono

Coloreaza cuvantul doar daca e la inceput. Daca e la mijloc in aceeasi casuta de excel sau la sfarsit nu-l coloreaza.
Ce anume as putea schimba in cod pentru al colora indiferent unde se afla in casuta excel?

Grazie!
Questo commento è stato fatto dal moderatore sul sito
Ciao Andrea,
Se vuoi evidenziare solo la parola se si trova all'inizio delle celle selezionate. Il seguente codice VBA può farti un favore. Per favore, provalo.
Sub HighlightStrings()
'Updated by Extendoffice 20220805
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            If xHStrLen <= Len(xCell.Value) Then
                If xHStr = Left(xCell.Value, xHStrLen) Then
                    xCell.Characters(1, xHStrLen).Font.ColorIndex = 3
                End If
            End If
        Next
    Application.ScreenUpdating = True
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao,
a me servirebbe evidenziare tutti i numeri (comprensivi di due decimali) da -10,00 a 0 in rosso e da 0 a +10,00 in verde. come posso fare per non aggiungere ogni singolo senza aggiungerli tutti manualmente?

Grazie mille
Questo commento è stato fatto dal moderatore sul sito
Ciao ciao,
I tuoi numeri si trovano in celle diverse in un intervallo? In tal caso, puoi creare due regole di formattazione condizionale (tra -10 e 0, tra 0 e 10) per evidenziare questi numeri. In caso negativo, puoi caricare uno screenshot dei tuoi dati?
Questo commento è stato fatto dal moderatore sul sito
È molto bello, grazie! Mi chiedo se qualcuno sa come farlo funzionare su Mac? Grazie molto
Rinomato 5 su 5
Questo commento è stato fatto dal moderatore sul sito
come si potrebbe modificare lo script per fare quanto segue?

aumentare il carattere di 1 dimensione e
evidenziare più parole con un'esecuzione dello script?

Grazie!
Questo commento è stato fatto dal moderatore sul sito
Ciao t.taln,

Se desideri aumentare la dimensione del carattere di 1 ed evidenziare più parole contemporaneamente, aggiungi la seguente riga dopo la riga "xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3" nel codice VBA.
Note:: è necessario conoscere in anticipo la dimensione del carattere corrente della cella selezionata, quindi inserire una dimensione numero uno più grande della parola originale. Il numero 12 nella riga sottostante è la dimensione del carattere che assegnerò alle parole corrispondenti. E la dimensione del carattere originale della parola è 11.
xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.Size = 12
Questo commento è stato fatto dal moderatore sul sito
Grazie è molto utile. Come posso evidenziare una parola invece di un colore del carattere?

Saluti.
Questo commento è stato fatto dal moderatore sul sito
Grazie. è stato davvero utile. Qualcuno può dirmi come colorare il testo invece di evidenziarlo?

Saluti
Questo commento è stato fatto dal moderatore sul sito
Ciao Shaik Faiaz hamad,

Excel non consente di colorare una parte di una cella. Mi dispiace non poterti aiutare con questo problema.
Questo commento è stato fatto dal moderatore sul sito
Bonjour Cristallo,
Merci pour ce code. Est-il possible de l'adapter pour mettre en évidence plusieurs mots "Apple,Rose,Vert,Merci"
grazie
Questo commento è stato fatto dal moderatore sul sito
Ciao Cus,

Il seguente codice VBA può aiutare. Dopo aver eseguito il codice, otterrai una finestra di dialogo. Digita le parole che desideri evidenziare e separale con una virgola.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/highlight.png
Sub HighlightStrings()
'Updated by Extendoffice 20230130
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    Dim xArr2
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
    
    xArr2 = Split(xHStr, ",")
    For j = 0 To UBound(xArr2)
        xHStr = xArr2(j)
    
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Next
    
    Application.ScreenUpdating = True
End Sub
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL