Notifications
Clear all

Pesquisar pelo combobox + filtro na planilha

4 Posts
2 Usuários
0 Reactions
916 Visualizações
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Pessoal, boa noite!

Possuo um banco de dados com 12 colunas + algumas colunas auxiliares.

Os dados contidos nelas são pesquisados por vários combobox's presentes em uma userform, cada um com seguinte código:

If ComboBoxMês <> "" Then
Selection.AutoFilter Field:=3, Criteria1:="=" & ComboBoxMês.Text

End If

If ComboBoxAno <> "" Then
Selection.AutoFilter Field:=4, Criteria1:="=" & ComboBoxAno.Text

End If

Ou seja, se eu digitar Janeiro no comboboxMês, e 2013 no comboboxAno, o código pesquisará por Janeiro na 3° coluna e 2013 na 4° coluna da planilha. Até ai tudo bem, visualizarei todas as linhas que possuem Janeiro e 2013, mas para eu realizar outra pesquisa, devo retirar todos os filtros da pesquisa anterior. Para isso, utilizo o seguinte código no botão de comando (realizar nova pesquisa):

unload me

Sheets("banco de dados").Select
On Error Resume Next
ActiveSheet.ShowAllData

userformpesquisa.show

Sendo que o banco de dados em questão possui inúmeras linhas, as vezes esse código pesa muito a funcionalidade da planilha.

Desde modo, solicito o apoio de vocês no sentido de ajudarem-me a substituir o código utilizado para retirar os filtros, por outro que faça essa ação de maneira mais fácil e leve!

Certo da atenção de vocês.

 
Postado : 22/07/2013 7:17 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Quando for possível além de pesquisar no fórum, deposite seu arquivo modelo compactado!!

Att

 
Postado : 25/07/2013 8:28 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não consegui compreender qual o problema :

substituir o código utilizado para retirar os filtros, por outro que faça essa ação de maneira mais fácil e leve!
A instrução para retirar a Filtragem se resume somente nesta linha :
ActiveSheet.ShowAllData
Não tem como deixa-la mais simples que isto.

Agora, tambem não entendi o porque na instrução do Botão que comentou você está :

unload me -fechando o formulário

Sheets("banco de dados").Select Selecionando a aba banco de dados
On Error Resume Next
ActiveSheet.ShowAllData 'desfazendo o filtro

userformpesquisa.show 'e chamando o formulário novamente.

[]s

 
Postado : 26/07/2013 3:32 pm
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Olá Mauro, boa noite!

Desculpa-me por ter causado dúvidas desnecessárias.

O código acima refere-se a parte do critério select case do yesNo apresentado no término de cada pesquisa realizada.

Tendo em vista a sua vasta experiência em excel, concluísse que, de fato, o melhor código para desfazer os filtros é o ActiveSheet.ShowAllData. Obrigado.

 
Postado : 26/07/2013 5:30 pm