Notifications
Clear all

VBA –Localizar

27 Posts
1 Usuários
0 Reactions
8,129 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

People bom dia,

Tenho a seguinte macro conforme abaixo para localizar comandos em uma planilha, o meu problema é que esta macro somente localiza os dados na planilha "Detalhes da Fatura" e eu tenho uma planilha com várias abas (Jan/Fev /Março e etc) e gostaria que o botão localizar fizesse a pesquisa em todas as planilhas.
Alguém sabe como fazer?

Tks

Sub procura()

Dim numero_proforma As String

On Error GoTo trata_erro

Número_Proforma = InputBox("Informe Proforma a ser exibida")
'************************************************************************

Sheets("CAPA").Select
Sheets("Detalhes da Fatura").Select
Cells.Find(What:=Número_Proforma, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

Exit Sub

trata_erro:
MsgBox "Número não encontrado"

End Sub

 
Postado : 26/05/2011 7:09 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom Dia.

Qual a Versão do excel voce esta ultlizando?
Estou postando um exemplo no excel 2003, veja se agora atende.

Abraço.

 
Postado : 24/10/2011 7:58 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá amigo, obriga pelo retorno a planilha está funcionando mas qdo é localizado o valor ela mostra onde está o valor em vez de ir diretamente aonde está o que está sendo pesquisado e não to conseguindo colocar a informação de localizar próxima exemplo Eu quero achar o número 150 na planilha, o número "150" está na aba "a" e aba "b", na macro como está hoje a pesquisa seria efetuada e acharia o 150 mais próximo ou seja na aba "a", mas eu gostaria de colocar uma macro que estendesse a pesquisa p/ ocorrer mais de uma vez.

Pode me ajudar?

Tks

 
Postado : 11/11/2011 10:09 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa Noite Dayana.

Veja se esse outro exemplo atende.

Abraço.

 
Postado : 11/11/2011 5:00 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Santos

Deu certo, muito obrigada!
Mas estou tentando colocar mais uma instrução na macro mas acho que não é possível...

Gostaria que depois que fosse feito todas as pesquisas fosse dado a mensagem “Todas as faturas desse número xxx já foram pesquisadas,gostaria de procurar uma nova fatura?”

Sabe se é possível, estava tentando fazer um novo DIM mas não funcionou...

 
Postado : 22/11/2011 7:08 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Gostaria que depois que fosse feito todas as pesquisas fosse dado a mensagem “Todas as faturas desse número xxx já foram pesquisadas,gostaria de procurar uma nova fatura?”

O que seria todas as faturas? Números?Letras? Número e letras juntos?

se puder poste um exmplo que sua planilha pra gente entender melhor.

Abraço.

 
Postado : 22/11/2011 8:23 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Oi
Segue um exemplo anexo, vamos supor que estou pesquisando a fatura EXP11361-11 e dps que foi efetuada todas as pesquisas dessa fatura então desse a informação que a pesquisa foi concluida e aparecesse a mensagem se gostaria de realizar a pesquisa de uma nova fatura.;

 
Postado : 22/11/2011 1:42 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Dayana.
Acho que é possivel sim.Vou tentar fazer como solicitado mais não vou garantir, mais acho que a galera do forum pode contribuir melhor pois tem um pessoal de um conhecimento bastante avancado no VBA, enqunto eu ainda estou engatinhando.

Abraço.

 
Postado : 22/11/2011 6:15 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Santos,

Tb estou pesquisando por aqui, nossa se vc está engatinhando, imagine eu rrrsr

Abraços

 
Postado : 23/11/2011 6:41 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Dayana, veja se seria isto, troque a rotina Localiza que está no modelo que postou pela a abaixo :

Sub localiza()

Reinicia:
        
        total = Sheets.Count 'total de planilhas
        achei = 0
        codigo = InputBox("Digite o nome a ser procurado.", "LOCALIZAR")
        If codigo = "" Then Exit Sub
        For plan = 1 To total 'percorrer todas as planilhas
            Sheets(plan).Select 'ativar planilha
            Set cellocalizar = ActiveSheet.Columns.Find(codigo, LookAt:=xlPart, LookIn:=xlValues)
            If cellocalizar Is Nothing Then 'caso não encontrar o codigo
                If plan = total And achei = 0 Then
                    Sheets(1).Select
                    MsgBox "O conteúdo " & codigo & " não foi encontrado em nenhuma planilha. "
                End If
            Else 'caso o codigo procurado tenha sido encontrado
                cellocalizar.Select 'selecionar a célula onde foi encontrado
                MsgBox codigo & " foi encontrado na célula " & cellocalizar.Address & ". Planilha " & plan
                If MsgBox("Deseja continuar?", vbYesNo) = vbNo Then End
                achei = achei + 1
                primeiroendereco = cellocalizar.Address
                Do
                    Set cellocalizar = ActiveSheet.Columns.FindNext(cellocalizar)
                    If Not cellocalizar Is Nothing And cellocalizar.Address <> primeiroendereco Then
                        cellocalizar.Select 'selecionar a célula onde foi encontrado
                        MsgBox codigo & " foi encontrado na célula " & cellocalizar.Address & ". Planilha " & plan
                        If MsgBox("Deseja continuar?", vbYesNo) = vbNo Then End
                        achei = achei + 1
                    End If
                Loop While Not cellocalizar Is Nothing And cellocalizar.Address <> primeiroendereco
                Sheets(plan).Select
            End If
        Next plan
        
        'Se o total das plan for igual ao TT das plan pesquisadas
        If plan - 1 = total Then
            'Opção Continuar do Inicio com Novo Código
            If MsgBox("Todas as faturas Código :- " & codigo & vbNewLine & _
                "já foram pesquisadas,gostaria de procurar uma nova fatura?", vbYesNo) = vbNo Then End
        
                GoTo Reinicia 'Volta ao Inicio
                
                Sheets(1).Select
        
        End If
        
End Sub

Faça os testes e qualquer duvida retorne.

[]s

 
Postado : 23/11/2011 8:21 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Grande Mauro,
Macro perfeita.

 
Postado : 23/11/2011 10:52 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Grande Mauro,
Macro perfeita.

Santos, os meritos são seus, eu só acrescentei a parte para voltar ao Inicio.

[]s

 
Postado : 23/11/2011 11:40 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Santos, os meritos são seus, eu só acrescentei a parte para voltar ao Inicio.

Acho que são seus, pois estou aprendendo com voce.

Abraço.

 
Postado : 23/11/2011 4:25 pm
Página 2 / 2