Página 1 de 1

Dúvida com o find

Enviado: 18 Jun 2021 às 17:00
por Marciel
Boa tarde pessoal

Preciso fazer uma busca de um valor em uma planilha extensa, e se o valor for encontrado me retornar a linha da celula.

O código abaixo está funcionando, porém tem um problema:
Código: Selecionar todos
Dim Valor_Doc As String

Valor_Doc = "333"

    With Worksheets("Plan1").Range("B11:B20")

        If .Find(Valor_Doc) Is Nothing Then
             MsgBox "Valor nao encontrado"
        Else
        a = .Find(Valor_Doc).Row
        MsgBox "valor encontrado na linha: " & a
        End If
    End With
supondo que na coluna da busca existem os valores:
333
3335
333,53

a macro está retornando os valores das linhas dos 3 valores, mas eu preciso que ele me retorne apenas o que for exatamente o 333.
Já tentei mudar o tipo de variavel pra string, long, double, mas nada resolveu.

Alguma dica ai galera?

Obrigado

Re: Dúvida com o find

Enviado: 18 Jun 2021 às 19:30
por osvaldomp
Experimente:
Código: Selecionar todos
Sub Procura()
 Dim c As Range, Valor_Doc As Long
  Valor_Doc = 333
  Set c = Sheets("Plan1").Range("B10:B20").Find(Valor_Doc, lookat:=xlWhole)
  If Not c Is Nothing Then
   MsgBox "valor encontrado na linha " & c.Row
  Else: MsgBox " valor não encontrado"
  End If
End Sub