VBA Localizar Valor na Coluna

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on June 10, 2023

Este artigo demonstrará como usar o VBA para localizar um valor em uma coluna.

Podemos usar Range.Find para percorrer uma coluna de valores no VBA e encontrar todas as células do intervalo que correspondem aos critérios especificados.

Fazer Loop em uma Coluna com Range.Find e Range.FindNext

No exemplo abaixo, estamos percorrendo os dados da coluna e procurando a palavra “Vencido”. Quando a palavra for encontrada, a célula será marcada, mudando a cor do texto da célula para vermelho. Em seguida, ele usará o método Range.FindNext para passar para a próxima célula e continuar a procurar a palavra, continuando o loop até o final do intervalo de células especificado.

Sub LoopLocalizar()
 Dim strFirstAddress As String
 Dim rngFindValue As Range
 Dim rngSearch As Range
 Dim rngFind As Range
 Set rngFind = ActiveSheet.Range("F1:F17")
 Set rngSearch = rngFind.Cells(rngFind.Cells.Count)
 Set rngFindValue = rngFind.Find("Vencido", rngSearch, xlValues, xlWhole)
 If Not rngFindValue Is Nothing Then
   strFirstAddress = rngFindValue.Address
   rngFindValue.Font.Color = vbRed
   Do
     Set rngFindValue = rngFind.FindNext(rngFindValue)
     rngFindValue.Font.Color = vbRed
  Loop Until rngFindValue.Address = strFirstAddress
 End If
End Sub

Quando o código é executado, ele salva o endereço da primeira célula em que os dados são encontrados na variável strFirstAddress e altera a cor do texto para vermelho. Em seguida, é criado um loop para localizar a próxima célula que contém os dados necessários. Quando o valor é encontrado, a cor do texto é alterada para vermelho e, em seguida, o endereço da célula em que o valor foi encontrado é comparado com a string strFirstAddress. Se não forem iguais, o loop continua, encontrando cada instância da palavra “Vencido”. Quando o loop chegar ao final do intervalo de células (ou seja, F17), ele voltará ao início do intervalo (F1) e continuará o loop. Quando atingir o endereço da célula F3 pela segunda vez, como ele é o mesmo da variável armazenada strFirstAddress, o loop será interrompido.

exemplo find vencido

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA