Como destacar texto específico numa célula com base noutro texto?
No Excel, é fácil destacar células com base num texto específico, mas o desafio aqui é destacar apenas uma parte do texto dentro de uma célula — tornando-a visível sem afetar todo o conteúdo da célula. Esta tarefa pode parecer complicada para a maioria de nós. Neste artigo, revelo alguns truques práticos para a resolver no Excel.

Destaque um ou mais textos específicos dentro de várias células com código VBA
Por exemplo, tenho um intervalo de cadeias de texto e pretendo destacar o texto específico «Sky» nessas células, obtendo o resultado apresentado nas seguintes imagens:
![]() | ![]() | ![]() |
Para destacar apenas uma parte do texto dentro de uma célula, o seguinte código VBA poderá ajudá-lo.
1. Selecione as células nas quais pretende destacar o texto específico e, em seguida, prima simultaneamente as teclas ALT + F11 para abrir a janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o código seguinte na janela do Módulo.
Código VBA: Destacar parte do texto dentro de uma célula:
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. Em seguida, prima a tecla F5 para executar este código. Irá surgir uma caixa de diálogo a solicitar que introduza o texto que pretende destacar, conforme ilustrado:

4. Depois, clique no botão OK e todo o texto especificado será destacado apenas dentro das células, conforme ilustrado:
![]() | ![]() | ![]() |
Código VBA: Destacar várias palavras-chave nas cadeias 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
Em seguida, na caixa que surge, introduza as palavras-chave que deseja destacar (separe as palavras com uma vírgula), conforme ilustrado:
Depois, clique no botão OK, e as palavras especificadas serão destacadas imediatamente, conforme ilustrado:
![]() | ![]() | ![]() |
Nota: Os códigos acima são sensíveis a maiúsculas e minúsculas.
Destaque um ou mais textos específicos dentro de várias células com uma funcionalidade extraordinária
Se não está familiarizado com código no Excel, apresentamos-lhe uma ferramenta simples – Kutools para Excel, cuja funcionalidade Marcação de Palavras-chave lhe permite destacar uma ou mais palavras-chave específicas simultaneamente dentro das células.
Após instalar o Kutools para Excel, proceda da seguinte forma:
1. Clique em Kutools > Texto > Marcação de Palavras-chave, conforme ilustrado:

2. Na caixa de diálogo Marcação de Palavras-chave, realize as seguintes operações:
- Selecione o Intervalo de Dados que pretende utilizar a partir da caixa de Intervalo;
- Selecione as células que contêm as palavras-chave que pretende destacar ou introduza manualmente as palavras-chave (separadas por vírgulas) na caixa de Palavra-chave
- Por fim, deverá especificar uma cor da fonte para destacar os textos, marcando a opção Cor da Fonte da Palavra-chave. (Para colorir todas as células que contêm as palavras-chave, selecione a opção)Cor do Conteúdo da Célula.)

3. Em seguida, clique no botão Ok e todos os textos especificados serão destacados, conforme ilustrado:

Nota: Esta funcionalidade não diferencia maiúsculas de minúsculas. Se pretender destacar o texto com diferenciação de maiúsculas e minúsculas, marque a opção Diferenciar Maiúsculas de Minúsculas na caixa de diálogo Marcação de Palavras-chave.
Destaque texto específico dentro de uma célula com base noutro texto com código VBA
Eis outra situação: tenho duas colunas — a primeira contém cadeias de texto e a segunda, o texto específico. Pretendo agora destacar, em cada linha, o trecho correspondente na primeira coluna com base no texto específico indicado na segunda coluna.

1. Prima simultaneamente as teclas ALT + F11 para abrir a janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir>Móduloe cole o seguinte código na janela do Módulo.
Código VBA: Destacar parte do texto dentro de uma célula com base noutro 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. Após colar o código, prima a tecla F5 para o executar. Irá surgir uma caixa de diálogo a solicitar que selecione o intervalo de dados que contém tanto a cadeia de texto como o texto específico que pretende destacar e utilizar como base, conforme ilustrado:

4. Em seguida, clique no botão OK e todo o texto correspondente na primeira coluna — com base no texto específico da segunda coluna — será destacado a vermelho, conforme ilustrado:

Mais artigos relacionados:
- Negrito em Parte do Texto ao Concatenar Duas Colunas no Excel
- Na folha de cálculo do Excel, após concatenar dois valores de células com fórmulas, poderá reparar que não é possível aplicar negrito apenas a parte do texto na célula resultante. Isto pode ser frustrante — então, como aplicar negrito a parte do texto ao concatenar duas colunas no Excel?
- Concatenar Colunas de Células e Manter a Cor do Texto no Excel
- Como todos sabemos, ao concatenar ou combinar colunas de células numa única coluna, a formatação das células — como a cor da fonte do texto, a formatação numérica, entre outras — é perdida. Neste artigo, apresento alguns truques para combinar colunas de células numa só e manter a cor do texto da forma mais simples possível no Excel.
- Exibir Texto Específico Com Base no Valor Noutra Coluna
- Suponha que tem uma lista de números e pretende exibir um texto específico noutra coluna com base nesses valores. Por exemplo, se o número numa célula estiver entre 1 e 100, a célula adjacente deverá mostrar «Decrease»; se estiver entre 101 e 200, deverá aparecer «Stable»; e se for superior a 200, deverá exibir «Increase», tal como ilustrado na imagem seguinte. Para resolver esta tarefa no Excel, as fórmulas apresentadas neste artigo poderão ajudá-lo.
- Somar Células com Dividir por Texto e Número no Excel
- Por exemplo, tenho uma lista de valores que inclui números e texto. Pretendo somar apenas os valores numéricos associados ao mesmo texto, conforme ilustrado na imagem seguinte. Normalmente, não é possível somar diretamente os elementos dessa lista quando contêm texto. A seguir, apresento algumas fórmulas para resolver esta tarefa.
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos



