Notifications
Clear all

SCRIPT PARA CONSULTA E LISTAGEM

7 Posts
3 Usuários
0 Reactions
1,444 Visualizações
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Boa Tarde Meus Amigos,

Tenho uma planilha de teste, nela temos 3 Plan:

1 - PRESTADORES_LANCAMENTO
2 - SERV_PRESTADOS
3 - CONSULTA

Na Plan3 - Consulta tenho um botão (consultar) esta vazio sem macro.
Preciso de uma macro para listar os itens da Plan2 SERV_PRESTADOS com
base e referencia na Plan1 PRESTADORES_LANCAMENTO.

Assim:

Utiliza como referencia de variáveis para pesquisa Plan1 coluna B.
Utiliza como Dados de Pesquisa a Plan2 pesquisando pela coluna C.
Utiliza como listagem da Pesquisa a Plan2 listando os dados da C.

Minha dificuldade é Pesquisar cada variavel da Plan1, ou seja cada linha de uma vez até o final,
pesquisar cada linha de Plan1 em Plan2 e listar em Plan3.

Que difícil explicar isso.

Eu dado uma macro para essa pesquisa porem ela não vai de linha em linha buscando a variável. Eu tenho que deixar bem claro qual a variável.

Segue anexo um modelo. Os dados e a planilha é fictícia apenas para teste.

Espero ter sido não muito confuso rsrs

Abraços

 
Postado : 12/11/2015 3:19 pm
(@mprudencio)
Posts: 0
New Member
 

Tenta assim

dim a as string
dim sh as worksheet


set sh = sheets(Prestadores_lançamento)
     sh.range("B3").select
a = activecell 

daqui pra baixo entra sua rotina onde o loop so faz a busca sua variavel atual

SE nao consegui adaptar poste sua rotina

 
Postado : 12/11/2015 3:47 pm
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Obrigado Marcelo Desculpe a Demora em testar seu código, mas tenho uma dificuldade em conhecimento ainda. Não sei onde colocar o seu código.
se puder me ajudar mais.

Segue o Script completo

Sub Listar()

Dim a As String
Dim sh As Worksheet

Set sh = Sheets("Prestadores_lançamento")
sh.Range("B3").Select
a = ActiveCell


Linha = 3
Lin = 3

Sheets("CONSULTA").Range("A3:E5000").Clear

Do Until Sheets("SERV_PRESTADOS").Cells(Lin, 1) = ""
    If Sheets("SERV_PRESTADOS").Cells(Lin, 3) = 45 Then
                                                                
        Sheets("CONSULTA").Cells(Linha, 1) = Sheets("SERV_PRESTADOS").Cells(Lin, 1)
        Sheets("CONSULTA").Cells(Linha, 2) = Sheets("SERV_PRESTADOS").Cells(Lin, 2)
        Sheets("CONSULTA").Cells(Linha, 3) = Sheets("SERV_PRESTADOS").Cells(Lin, 3)
        Sheets("CONSULTA").Cells(Linha, 4) = Sheets("SERV_PRESTADOS").Cells(Lin, 4)
        Sheets("CONSULTA").Cells(Linha, 5) = Sheets("SERV_PRESTADOS").Cells(Lin, 5)
       
        Linha = Linha + 1
                
    End If
    Lin = Lin + 1
Loop

End Sub
 
Postado : 14/11/2015 8:07 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não sei se entendi corretamente, mas teste

 
Postado : 14/11/2015 10:08 am
(@mprudencio)
Posts: 0
New Member
 

Eu nao entendi o que vc quer exatamente pq da forma que vc exemplificou se o codigo rodar toda a tabela da aba prestadores lançamento e buscar os dados na planilha da maneira que esta o resultado da planilha consulta sera o mesmo da aba serviços prestados.

Agora se vc tem a intenção de filtrar os valores de acordo com cada codigo ou seja informar o codigo e ter todos os serviços referente ao codigo informado veja esse exemplo

 
Postado : 14/11/2015 11:01 am
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Ok...

Da forma que esta ele busca e lista la em Consulta. Esse é o único modo que sei fazer.
Eu preciso que:

Em PRESTADORES_LANCAMENTO temos 3 linhas. Eu preciso que o sistema consulte em PRESTADORES_LANCAMENTO a linha 1 o dado 45 coluna B, e filtre a informação que esta la na tabela SERV_PRESTADOS e lista ela em CONSULTA. Quando terminar isso eu preciso que o sistema volte a pesquisa em PRESTADORES_LANCAMENTO e pegue a Info da linha dois coluna B = 35 e filtre em SERV_PRESTADOS e lista abaixo da linha já filtrada. Assim por diante.

 
Postado : 14/11/2015 12:16 pm
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Não sei se entendi corretamente, mas teste

Obrigado Reinaldo isso mesmo que estou procurando. Bem complexo para mim, mas nada como um desafio para entender.

Agradeço. Otimo final de semana.

 
Postado : 14/11/2015 12:21 pm