Notifications
Clear all

Consulta - Gerar Relatório

10 Posts
2 Usuários
0 Reactions
1,917 Visualizações
 jvra
(@jvra)
Posts: 21
Eminent Member
Topic starter
 

Bom dia a todos,

Estou iniciando em VBA e preciso de uma ajuda.
Possuo uma planilha com muitos registros. São registros de processos. Quero recuperar as informações da planilha por meio de alguns critérios.
Pesquisando encontrei o código abaixo. Mas não entendo por que ele não me traz todas as ocorrências da chave de busca, como por exemplo na consulta por palavra chave. Ele recupera apenas informações do primeiro ano que é 2005. Eu tenho registros de 2005 a 2013. Alguém pode dar uma luz?
Segue o código para análise:

Private Sub BtExecutar_Click()

Dim lin As Integer
Dim linha As Integer

Sheets("rel").Range("A7:L50000").ClearContents
lin = 7
linha = 7

Do Until Sheets("base").Cells(lin, 1) = ""
If Sheets("base").Cells(lin, 3) Like "*" & UCase(Numero_Processo) & "*" And _
Sheets("base").Cells(lin, 7) Like "*" & UCase(Palavra_Chave) & "*" And _
Sheets("base").Cells(lin, 6) Like "*" & UCase(Interessado) & "*" Then

Sheets("rel").Cells(linha, 1) = Sheets("base").Cells(lin, 1)
Sheets("rel").Cells(linha, 2) = Sheets("base").Cells(lin, 2)
Sheets("rel").Cells(linha, 3) = Sheets("base").Cells(lin, 3)
Sheets("rel").Cells(linha, 4) = Sheets("base").Cells(lin, 4)
Sheets("rel").Cells(linha, 5) = Sheets("base").Cells(lin, 5)
Sheets("rel").Cells(linha, 6) = Sheets("base").Cells(lin, 6)
Sheets("rel").Cells(linha, 7) = Sheets("base").Cells(lin, 7)
Sheets("rel").Cells(linha, 8) = Sheets("base").Cells(lin, 8)
Sheets("rel").Cells(linha, 9) = Sheets("base").Cells(lin, 9)
Sheets("rel").Cells(linha, 10) = Sheets("base").Cells(lin, 10)
Sheets("rel").Cells(linha, 11) = Sheets("base").Cells(lin, 11)
Sheets("rel").Cells(linha, 12) = Sheets("base").Cells(lin, 12)

linha = linha + 1
End If
lin = lin + 1

Loop
End Sub

Desde já agradeço!

 
Postado : 20/03/2014 8:26 am
(@bilokas)
Posts: 168
Reputable Member
 

Veja se esse exemplo lhe atende.

 
Postado : 20/03/2014 8:51 am
 jvra
(@jvra)
Posts: 21
Eminent Member
Topic starter
 

Veja se esse exemplo lhe atende.

bilokas
Interessante a solução por ListView. Mas eu tenho várias colunas e muitos registros.
Estou fazendo por meio de ComboBox. Insiro a chave de pesquisa e mando executar a busca.
Posso lhe enviar o arquivo para ter um melhor entendimento?

 
Postado : 20/03/2014 9:02 am
(@bilokas)
Posts: 168
Reputable Member
 

Envie o anexo para o e-mail [email protected], pois não consigo baixar anexos a não ser do e-mail do trabalho.

 
Postado : 20/03/2014 10:02 am
 jvra
(@jvra)
Posts: 21
Eminent Member
Topic starter
 

Envie o anexo para o e-mail [email protected], pois não consigo baixar anexos a não ser do e-mail do trabalho.

Enviei o arquivo.

Obrigado!

 
Postado : 20/03/2014 12:43 pm
(@bilokas)
Posts: 168
Reputable Member
 

Amigo, sua planilha pesa 28 mb, mas aparentemente só vi 131 registros (131 linhas de cadastro).

É isso mesmo?

 
Postado : 20/03/2014 1:22 pm
(@bilokas)
Posts: 168
Reputable Member
 

Amigo, fiz um projeto novo aproveitando seu banco e os objetos criados, porém, "enxugando" um pouco o seu código, pois o mesmo estava gerando lixo nas variáreis, causando muita lentidão na execução do mesmo.

O Projeto conta com o cadastro e também uma parte de pesquisa com critérios de ComboBox e também um botão para gerar um relatório com os dados filtrados.

Para que FormRelatorio funcione, você precisa ter habilitado o objeto ListView.

 
Postado : 20/03/2014 2:54 pm
(@bilokas)
Posts: 168
Reputable Member
 

Não esqueça de dar o feedback sobre seu problema.

 
Postado : 21/03/2014 8:53 am
 jvra
(@jvra)
Posts: 21
Eminent Member
Topic starter
 

Não esqueça de dar o feedback sobre seu problema.

bilokas Amigo, perfeita a solução. Adicionei o campo ASSUNTO na combobox e funcionou perfeitamente.

Como lhe falei sou bem incipiente em VBA.

Bastante grato por sua ajuda! Resolveu!

 
Postado : 21/03/2014 9:24 am
 jvra
(@jvra)
Posts: 21
Eminent Member
Topic starter
 

Bilokas, duas perguntas:

1 - No ListView que vc criou dá para visualizar toda a seleção referente à ocorrência dos critérios de busca. Ao tentar adaptar a minha planilha só aparece a coluna código em horizontal ainda. Poderia me dar uma dica sobre como resolver isso. Lembrando que a busca está funcionando perfeitamente.

Desde já agradeço!

 
Postado : 24/03/2014 9:12 am