Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por Marciel
#65258
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
Por osvaldomp
#65261
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

Veja se o anexo ajuda

Estou com uma situação que nas minha[…]

Não sei se entendi muito bem, mas seria iss[…]

Prezados, boa noite eu estou utilizando o c&oacut[…]

Olá Como a tabela de dias é preenchi[…]

Fala galera... Um suporte nessa situaç&ati[…]

Boa tarde Muito obrigado pela aula. Funcionou perf[…]

Olá, @yurisousa314 . Segue uma ideia, […]