locked
Pesquisa em Planilha RRS feed

  • Pergunta

  • Pessoal preciso que em uma planilha crie uma campo de busca que quando digite um valor ele me leve a célula correspondente, supondo:

     

    Em uma planilha eu tenho um relação de nomes quero que esta busca ache o nome digitado e me leve até a célula que contem este valor.

    Também gostaria que esta busca funcionasse com caracteres coringa. Ex.: Se eu digitar ANT me leve para o primeiro ANTONIO da lista e se eu digitar ANTONIO JOSÉ me leve para o primeiro ANTONIO JOSÉ da lista... caso não encontre exiba um msg indicando que não existe o registro.

     

    Desculpa a sumida ae pessoal, mas estamos em meio há um parada na Unidade e tá a maior correria... quem puder ajudar agradeço muito facilitará em muitos aspectos.

     

    Att,

    quarta-feira, 14 de maio de 2008 14:08

Respostas

  • Veja se isto resolve:

    Code Snippet
    Sub Pesquisar()
    Dim Pesquisa
        Pesquisa = InputBox("Informe o valor a ser pesquisado", "Pesquisar Valores")
        Cells.Find(What:=Pesquisa, After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Activate
    End Sub

     

     

    [ ]s

    quarta-feira, 14 de maio de 2008 14:24
  • Dá pra fazer assim também..

     

    Code Snippet

    Sub Pequisar()
    Pesquisa = InputBox("Informe o valor a ser pesquisado", "Pesquisar Valores")
    If Pesquisa = "" Then Exit Sub
    Set x = Worksheets(1).Cells.Find(what:=Pesquisa)
        If Not x Is Nothing Then
            x.Select
            MsgBox "Texto encontrado na célula " & x.Address & Chr(10) & "Texto:" & x.Text
        Else
            MsgBox "Texto não encontrado"
        End If
    End Sub

     

     

    Faz a pesquisa na planilha 1...Dá pra especificar também a coluna se desejar...

     

    Code Snippet

    Set x = Worksheets(1).Columns(1).Find(what:=Pesquisa)

     

     

    Até..
    quarta-feira, 14 de maio de 2008 17:22
  • Code Snippet

        Cells.Find(What:=Pesquisa, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
            xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
            .Activate

     

     

    Pra olhar em valores

     

    Abraços

    quarta-feira, 14 de maio de 2008 19:18

Todas as Respostas

  • Veja se isto resolve:

    Code Snippet
    Sub Pesquisar()
    Dim Pesquisa
        Pesquisa = InputBox("Informe o valor a ser pesquisado", "Pesquisar Valores")
        Cells.Find(What:=Pesquisa, After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Activate
    End Sub

     

     

    [ ]s

    quarta-feira, 14 de maio de 2008 14:24
  • Funcionou sim Adilson,

     

    Funcionou em uma planilha que contém o valor, porém tenho uma planilha que busca o dado em outra e é nesta célula que busca o dado que preciso pesquisar por nome, são mais de 4.500 registros que são atualizados constantemente por isso não posso alterar o a formula para o valor usando um script que tenho aki, tem alguma solução neste caso.

     

    Estou usando em uma planilha que contém valores tb e esta tudo ok, mas preciso agora uma solução para o caso de erro quando ele não encontra o nome.

     

    Att,

     

    quarta-feira, 14 de maio de 2008 16:51
  • Dá pra fazer assim também..

     

    Code Snippet

    Sub Pequisar()
    Pesquisa = InputBox("Informe o valor a ser pesquisado", "Pesquisar Valores")
    If Pesquisa = "" Then Exit Sub
    Set x = Worksheets(1).Cells.Find(what:=Pesquisa)
        If Not x Is Nothing Then
            x.Select
            MsgBox "Texto encontrado na célula " & x.Address & Chr(10) & "Texto:" & x.Text
        Else
            MsgBox "Texto não encontrado"
        End If
    End Sub

     

     

    Faz a pesquisa na planilha 1...Dá pra especificar também a coluna se desejar...

     

    Code Snippet

    Set x = Worksheets(1).Columns(1).Find(what:=Pesquisa)

     

     

    Até..
    quarta-feira, 14 de maio de 2008 17:22
  • Boa tarde,

     

    Quero dizer que os scripts acima mencionado funcionam quando você tem o valor digitado na planilha onde se quer pesquisar, e nas planilhas que tenho desta maneira funcionou legal. Porém tenho o seguinte problema para resolver agora:

     

    Tenho 2 arquivos:

     

    Lançamentos.xls (esta na rede);

    Pesquisa.xls (disponível através da intranet);

     

    A planilha constante em Pesquisa.xls busca algumas informações na planilha Lista no arquivo Lançamentos.xls, por exemplo o nome do colaborador, através da fórmula abaixo.

     

    =SE(ÉCÉL.VAZIA('Endereço do Arquivo[Lançamentos.xls]Lista'!B3);"";''Endereço do Arquivo[Lançamentos.xls]Lista'!B3)

    (Quando a célula em Lista[Lançamentos.xls] for vazia, não faz nada, quando não for coloca o valor constante em Lista[Lançamentos.xls], na célula onde se encontra esta formula).

     

    Porém preciso que a pesquisa seja feita no resultado da formula, pois quando executo o script que vcs me mandaram, ele não localiza nenhum nome, por se tratarem de fórmulas...

     

    Há uma maneira de resolver isto sem alterar o conteúdo das células de destino (fórmulas).

     

    Att,

    quarta-feira, 14 de maio de 2008 18:46
  • Code Snippet

        Cells.Find(What:=Pesquisa, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
            xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
            .Activate

     

     

    Pra olhar em valores

     

    Abraços

    quarta-feira, 14 de maio de 2008 19:18
  • Pessoal mto obrigado...

     

    Funcionou perfeitamente em ambos os casos...

     

    Obrigado mesmo!!!

     

    quarta-feira, 14 de maio de 2008 23:27