none
Como funciona a Funcao Find RRS feed

  • Pergunta

  • Bom dia pessoal.

    Gostaria que alguem pudesse explicar como funciona a funcao Find para VBA excel.

    Preciso verificar se num dado Range existe o dado procurado, sendo que esse dado e uma variavel numerica, ou seja um contador de rotina "i" e no Range("l8", "l40") onde vou procurar esses dados tem formula como =IF(K8="","",VLOOKUP(I8,$G$8:$G$2000,1,TRUE)) que da como resultado um numero que desejo procurar.

    Para procurar o valor desejado, montei a rotina abaixo e notei que ela so funciona bem se no Range for valores numericos e nao formulas.

    Fico muito grato a quem possa ajudar.

    Tadao

    Sub procurar()
    Dim dt As Range
    Dim i As Integer
    i = InputBox("Digite o Numero  ")
    'Set dt = Nothing
    Set dt = Range("l8", "l40").Find(i)
    If dt Is Nothing Then
        MsgBox "Nao encontrado" 
    Else
        MsgBox "encontrado " & dt.Value


    End If


    End Sub

    quarta-feira, 20 de maio de 2015 16:18

Respostas

Todas as Respostas

  • Tenta assim:

    Set dt = Range("l8", "l40").Find(i, LookIn:=xlFormulas) ' ou xlValues não lembro


    Natan

    quarta-feira, 20 de maio de 2015 16:42
  • Obrigado Natan, coloquei o xlValues e funcionou beleza.

    Agora posso prosseguir com meus planos, se puder me indicar onde consigo essas referencias e exemplos de aplicacoes agradeco.

    Tadao

    quinta-feira, 21 de maio de 2015 03:15
  • Tadao,

    primeiro você precisa saber se o que você quer pode ser feito diretamente pelo excel, sem macros... entender suas funcionalidades... aí vem o que eu gosto de chamar "pulo do gato"...

    gravar as macros e lê o código de ponta a ponta.... faça pequenos trechos e identifique as diferenças entre um método e outro...

    Da primeira vez que precisei fazer um find com fórmulas (isso na época do office 2003), eu gravei uma macro com o xlValues e outra com o XlFormulas... reescrevi o método no meu código e XABLAU.... deu certo!!!!

    [OFF]Pode escrever Xablau aqui negada????

    Abraço!


    Natan

    quinta-feira, 21 de maio de 2015 19:04
  • Obrigado pela Dica,Natan.

    Nao entendi muto bem o que e XABLAU mas deve ser como Xau Xau e Blau Blau para os Problemas,ne.

    gravar as macros e lê o código de ponta a ponta.... Eu sempre achava que programas sao sequencias de comandos colocados em ordens que o computador vai ler, fora as decisoes que sao os if ,do while etc... e quando nao tinha tempo e paciencias gravava as macros e colava as sequencias das macros no meio do programa que estava fazendo e achava muito comodo......porem um dia o programa nao rodava redondo, verifiquei que o comando para ordenar, por exemplo, nao era dinamico quando a planilha vai aumentando de tamanho e quando voce frisou .lê o código de ponta a ponta.... achei muito importante, pois realmente precisa ler e entender e fazer as devidas modificaocoes para funcionar redondo, certo?

    Tadao

    terça-feira, 26 de maio de 2015 04:50
  • Corretíssimo!

    Natan

    terça-feira, 26 de maio de 2015 10:09