Tempo de leitura: 2 minutos
Encontre com VBA Localizar no vba
Excel VBA – busca find excel vba localiza
Busca Find Usar o método FIND com o Excel VBA pode economizar muito tempo e negar o uso de construções de loop ineficientes em muitos casos. Um exemplo geralmente visto é ver alguém que pede ajuda para encontrar um valor em um intervalo, fazendo um loop por cada célula desse intervalo e testando uma determinada condição. Encontrar, por outro lado, produzirá um resultado em um tempo muito rápido quando comparado ao loop através de um intervalo.
O método de busca do Excel é útil para encontrar cadeias de caracteres e locais de células, especialmente quando a localização das células está em movimento e você deseja atrapalhar essa localização. Este é um exemplo de Moving Data Columns com a ajuda do método find. A sintaxe do método Find da seção de ajuda do vba do Excel é a seguinte
Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
Se você está procurando apenas uma string, eu gostaria de simplificar o acima com o seguinte código VBA.
Range.FIND (” Texto para encontrar“)
Sub sbx_busca_texto () ‘Excel VBA para encontrar.
Dim i As Integer
i = [a1: a10] .Find (“Carro”). Row
MsgBox “O valor procurado esta na linha” & i
End Sub
Por enquanto, você está dizendo encontrar a corda do carro no alcance A1: A100. Simples assim! Eu acho que ele funciona maravilhosamente bem em uma variedade de situações. O seguinte é um exemplo do Excel VBA de captura de um intervalo com o método FIND.
Sub sbx_busca_texto2 () ‘Excel VBA para encontrar um intervalo de células.
Dim wFnd As Range
Dim wRng As Range
Set wFnd= Range (“A1: G200”). Find (“Pagamento”) ‘busca a palavra Pagamento
Definir wRng = Range (Cells (wRnd.Row, wRnd.Column + 1), Cells (wFnd.Row, wFnd.Column + 2))
End Sub
Se a sua folha tiver Iniciar em A1 para G200, a codificação identificará a célula e criará um intervalo de 3 colunas de largura. Então, se Start estava em B2, o intervalo (wRng) seria Set Será B2: D2. Esse intervalo poderia então ser usado para toda uma série de atividades abertas à sua imaginação do Excel.
Levando esse conceito um passo adiante, se você precisasse encontrar um item em uma lista e, em seguida, adicionar um valor de outra célula a essa lista, então pode ser feito com a codificação de preenchimento do Excel VBA.
Sub sbx_busca_find_rng ()
Range (“G” & [C1: C1500] .Find ([j6]). Row) = [h8]
End Sub
A codificação VBA acima procurará a coluna C para o conteúdo de c6 e colocará o valor de h8 na linha encontrada de G. Então, se o valor a encontrar fosse 100 [c6] e este estava em C17 e se h8 continha a palavra “Encontrado” “então G71 diria Encontrado.
Experimente. Funciona como um encanto. Claro que um (procv) workheetFunction Vlookup faria uma tarefa similar sem o uso da VBA.
Link permanente
Olá!
Este código (i = [a1: a10] .Find (“Carro”). Row) funciona perfeitamente.
Ocorre ele localiza termo semelhante e não exato.
Ex: Caso carroceria venha ante de carro, ele localiza carroceria e não carro.
Tem como fazer com que localize o termo exato? Independente da ordem como aparece?
Algo parecido com xlWhole.
Agradeço a atenção