Como fazer a pesquisa vertical e retornar a cor de fundo junto com o valor pesquisado no Excel?
Suponha que você tenha uma tabela como mostrado na captura de tela abaixo. Agora, você deseja verificar se um valor específico está na coluna A e, em seguida, retornar o valor correspondente junto com sua cor de fundo na coluna C. Como realizar isso? O método neste artigo pode ajudá-lo a resolver o problema.
Pesquisa vertical e retorno da cor de fundo com o valor pesquisado por função definida pelo usuário
Pesquisa vertical e retorno da cor de fundo com o valor pesquisado por função definida pelo usuário
Por favor, siga os passos abaixo para pesquisar um valor e retornar seu valor correspondente junto com a cor de fundo no Excel.
1. Na planilha que contém o valor que você deseja pesquisar verticalmente, clique com o botão direito do mouse na guia da planilha e selecione Visualizar Código no menu de contexto. Veja a captura de tela:
2. Na janela Microsoft Visual Basic for Applications que abrir, copie o código VBA abaixo para a janela de Código.
Código VBA 1: Pesquisa vertical e retorno da cor de fundo com o valor pesquisado
Sub Worksheet_Change(ByVal Target As Range)
Dim I As Long
Dim xKeys As Long
Dim xDicStr As String
On Error Resume Next
Application.ScreenUpdating = False
xKeys = UBound(xDic.Keys)
If xKeys >= 0 Then
For I = 0 To UBound(xDic.Keys)
xDicStr = xDic.Items(I)
If xDicStr <> "" Then
Range(xDic.Keys(I)).Interior.Color = _
Range(xDic.Items(I)).Interior.Color
Else
Range(xDic.Keys(I)).Interior.Color = xlNone
End If
Next
Set xDic = Nothing
End If
Application.ScreenUpdating = True
End Sub
3. Em seguida, clique em Inserir > Módulo, e copie o código VBA 2 abaixo na janela Módulo.
Código VBA 2: Pesquisa vertical e retorno da cor de fundo com o valor pesquisado
Public xDic As New Dictionary
Function LookupKeepColor (ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long)
Dim xFindCell As Range
On Error Resume Next
Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole)
If xFindCell Is Nothing Then
LookupKeepColor = ""
xDic.Add Application.Caller.Address, ""
Else
LookupKeepColor = xFindCell.Offset(0, xCol - 1).Value
xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address
End If
End Function
4. Após inserir os dois códigos, clique em Ferramentas > Referências. Depois, marque a caixa Microsoft Script Runtime na caixa de diálogo Referências – VBAProject. Veja a captura de tela:
5. Pressione as teclas Alt + Q para sair da janela Microsoft Visual Basic for Applications e voltar para a planilha.
6. Selecione uma célula em branco adjacente ao valor pesquisado e, em seguida, insira a fórmula =LookupKeepColor(E2,$A$1:$C$8,3) na Barra de Fórmulas e pressione a tecla Enter.
Observação: Na fórmula, E2 contém o valor que você irá pesquisar, $A$1:$C$8 é o intervalo da tabela, e o número 3 significa que o valor correspondente que você irá retornar está localizado na terceira coluna da tabela. Altere-os conforme necessário.
7. Mantenha a primeira célula de resultado selecionada e arraste a Alça de Preenchimento para baixo para obter todos os resultados junto com suas cores de fundo. Veja a captura de tela.
Artigos relacionados:
- Como copiar a formatação da célula de origem ao usar Pesquisa Vertical no Excel?
- Como fazer a pesquisa vertical e retornar formato de data em vez de número no Excel?
- Como usar pesquisa vertical e soma no Excel?
- Como a pesquisa vertical retorna o valor na célula adjacente ou próxima no Excel?
- Como fazer a pesquisa vertical e retornar verdadeiro ou falso / sim ou não no Excel?
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!