VBA - O método find

Novembro 2016

O método find permite encontrar a primeira ocorrência de uma informação específica em uma linha. Objetivamente, este método permite buscar em uma planilha ou parte de uma planilha Excel, uma informação, um dado ou uma parte deste dado.

O exemplo de uso é um conselho baseado em minha própria experiência.


Com o Excel

Abra uma pasta/planilha de trabalho (contendo dados). Você pode fazer Ctrl + F, é:
Excel <2007: Editar/Localizar
Excel> = 2007: guia Início > Procurar e selecione > Procurar
Digite o valor a ser pesquisado, defina as opções e clique em Avançar.

O código VBA correspondente

O gravador de macro nos dá o seguinte código (termo de busca: "Valor"):


 Option Explicit

Sub Cherche()
\'déclaration des variables :
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String

\'********* À adaptar ***********
\ Atribuir valores às variáveis:
    \'Procura-se a palavra "Encontre" 
Valor_procurado = "Encontre"
    \'Na primeira coluna da planilha ativa
Set PlageDeRecherche = ActiveSheet.Columns(1)
\'*******************************
\ Method find, aqui se procura o valor exato (LookAt: = xlWhole)
Set Encontre=
 PlageDeRecherche.Cells.Find Localizar (o: = lookup_value, LookAt: = xlWhole)

\ Processamento \ erro possível: Se não há nada: If Trouve Is Nothing Then
    \ Aqui, o tratamento para os casos em que o valor não for encontrado
    endereço encontrado=valor_procura &   está presente no" & PlageDeRecherche.Address
Outro
    \ Aqui, o tratamento para os casos em que o valor é encontrado
    AdresseTrouvee = Trouve.Address
End If
MsgBox AdresseTrouvee
>


<souligne> Nota: </ destaques> Ss tivéssemos tentado o número em vez da palavra Encontre 1024, deveria ter sido declarado
lookup_value As Integer
. O que está mudando, é que você pode procurar qualquer tipo de dados do Excel, ou o tempo que você quer especificar, na declaração da variável.

Pesquisa múltipla

Os FindNext FindPrevious podem repetir a pesquisa. Quando a pesquisa chega ao final do intervalo de pesquisa especificada, ele retorna para o início dessa faixa. Para interromper uma pesquisa, quando retorna ao ponto de partida, salve o endereço da primeira célula encontrada e, em seguida, compare o endereço de cada célula encontrado mais tarde com o endereço registrado. Você pode encontrar uma função que use Localizar Próximo, nesta ficha de Lermitte222 (em francês).

Veja também :
Este documento, intitulado « VBA - O método find »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.