¿Cómo resaltar texto específico dentro de una celda según otro texto?
En Excel, puede resultarnos sencillo resaltar celdas en función de un texto específico, pero en este caso deseo resaltar únicamente un texto específico dentro de una celda para hacerlo destacar, sin afectar a toda la celda. Esto puede resultar complicado para la mayoría de nosotros. En este artículo, explicaré algunos trucos para resolver esta tarea en Excel.

Resalte uno o varios textos específicos dentro de múltiples celdas con código VBA
Por ejemplo, dispongo de un rango de cadenas de texto y ahora quiero resaltar el texto específico «Sky» en estas celdas para obtener el resultado que se muestra en las siguientes capturas de pantalla:
![]() | ![]() | ![]() |
Para resaltar solo una parte del texto dentro de una celda, el siguiente código VBA le será de gran ayuda.
1. Seleccione las celdas en las que desea resaltar el texto específico y, a continuación, mantenga pulsadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo y pegue el siguiente código en la ventana del Módulo.
Código VBA: Resaltar parte del texto dentro de una celda:
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. A continuación, pulse la tecla F5 para ejecutar este código. Aparecerá un cuadro de diálogo que le pedirá que introduzca el texto que desea resaltar, tal como se muestra en la captura de pantalla:

4. A continuación, haga clic en el botón Aceptar y todo el texto especificado quedará resaltado únicamente dentro de las celdas, tal como se muestra en la captura de pantalla:
![]() | ![]() | ![]() |
Código VBA: Resaltar varias palabras clave en cadenas de texto:
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
A continuación, en el cuadro emergente, introduzca las palabras clave que desea resaltar (separadas por comas), tal como se muestra en la captura de pantalla:
A continuación, haga clic en el botón Aceptar, y las palabras especificadas se resaltarán inmediatamente, tal como se muestra en las capturas de pantalla:
![]() | ![]() | ![]() |
Nota: Los códigos anteriores distinguen entre mayúsculas y minúsculas.
Resalte uno o varios textos específicos dentro de múltiples celdas con una función sorprendente
Si no está familiarizado con el código en Excel, le presentamos una herramienta sencilla: Kutools para Excel. Con su función Marcado de palabras clave, podrá resaltar una o varias palabras clave específicas de forma simultánea dentro de las celdas.
Tras instalar Kutools para Excel, siga estos pasos:
1. Haga clic en Kutools > Texto > Marcado de palabras clave, tal como se muestra en la captura de pantalla:

2. En el cuadro de diálogo Marcado de palabras clave, realice las siguientes operaciones:
- Seleccione el Rango de datos que desea utilizar en el cuadro de texto Rango;
- Seleccione las celdas que contienen las palabras clave que desea resaltar o también puede introducirlas manualmente (separadas por comas) en el cuadro de texto Palabra clave
- Por último, debe especificar un color de fuente para resaltar los textos marcando la opción Color de fuente de palabra clave. (Para colorear todas las celdas que contengan las palabras clave, seleccione la opción)Color de contenido de celda.)

3. A continuación, haga clic en el botón Aceptar y todos los textos especificados quedarán resaltados tal como se muestra en la siguiente captura de pantalla:

Nota: Esta función no distingue entre mayúsculas y minúsculas. Si desea resaltar el texto teniendo en cuenta las mayúsculas y minúsculas, active la casilla Coincidir mayúsculas y minúsculas en el cuadro de diálogo Marcado de palabras clave.
Resalte texto específico dentro de una celda en función de otro texto con código VBA
He aquí otra situación: dispongo de dos columnas; la primera contiene cadenas de texto y la segunda, un texto específico. Ahora necesito resaltar, en cada fila, el texto correspondiente de la primera columna según el texto específico indicado en la segunda.

1. Mantenga pulsadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar>Móduloy pegue el siguiente código en la ventana del Módulo.
Código VBA: Resaltar parte del texto dentro de una celda en función de otro texto:
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. Tras pegar el código, pulse la tecla F5 para ejecutarlo. Aparecerá un cuadro de diálogo que le pedirá que seleccione el rango de datos que contiene tanto la cadena de texto como el texto específico que desea resaltar y utilizar como base, tal como se muestra en la captura de pantalla:

4. A continuación, haga clic en el botón Aceptar y, en función del texto específico de la segunda columna, todo el texto correspondiente en la primera columna se coloreará en rojo, tal como se muestra en la siguiente captura de pantalla:

Más artículos relacionados:
- Poner en negrita parte del texto al concatenar dos columnas en Excel
- En una hoja de cálculo de Excel, tras concatenar dos valores de celda mediante fórmulas, es posible que notes que no puedes aplicar negrita a solo una parte del texto en la celda resultante. Esto puede resultar molesto en ocasiones. ¿Cómo podrías aplicar negrita a parte del texto al concatenar dos columnas en Excel?
- Concatenar columnas de celdas y conservar el color del texto en Excel
- Como bien sabemos, al concatenar o combinar columnas de celdas en una sola, se pierde el formato de las celdas originales, como el color del texto o el formato numérico. En este artículo, te presento algunos trucos sencillos para combinar columnas en Excel conservando el color del texto de la manera más fácil posible.
- Mostrar texto específico Basado en Valor en otra columna
- Supongamos que tienes una lista de números y deseas mostrar un texto específico en otra columna según el valor de cada número. Por ejemplo, si el número en una celda está entre 1 y 100, aparecerá «Disminución» en la celda adyacente; si está entre 101 y 200, se mostrará «Estable»; y si es mayor que 200, aparecerá «Aumento», tal como se ilustra en la siguiente captura de pantalla. Para llevar a cabo esta tarea en Excel, las fórmulas que se presentan a continuación en este artículo te serán de gran ayuda.
- Sumar celdas con Dividir por texto y número en Excel
- Por ejemplo, dispongo de una lista de valores que incluye cadenas numéricas y de texto, y ahora quiero sumar únicamente los números asociados a un mismo texto. Observe la siguiente captura de pantalla. Normalmente, no es posible sumar directamente los valores de una lista que contiene cadenas de texto. A continuación, le presento algunas fórmulas para resolver esta tarea.
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos



