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:
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.
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
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...
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!