Notifications
Clear all

Filtro Avançado COLUNAS ESPECÍFICAS

24 Posts
2 Usuários
0 Reactions
6,353 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite pessoal,

Minha dúvida é a seguinte: tenho um banco de dados com 10 colunas (de A a J), na aba PLAN1, por exemplo. Desejo criar, na ABA Plan2 um FILTRO AVANÇADO, com critério determinados lá na propria ABA Plan2, que seria executado via Macro. Até ai tudo bem.
Mas queria que o FILTRO AVANÇADO me retornasse apenas os dados de algumas colunas intercaladas, por exemplo, das colunas A, D e I especificamente, e não todo o intervalo de A a J, pq os dados contidos nas colunas que desejo excluir, nao me interessam para esta consulta. E isso tá me dando uma surra.

Outra coisa: após realizada a consulta via FILTRO AVANÇADO, como fazer uma macro para LIMPAR A CONSULTA (resultados anteriores e criterios de pesquisa)?

Desculpem se minha dúvida já foi respondida, mas procurei no forum e achei vários tópicos relacionados, mas nenhum com esta dúvida específica.

 
Postado : 08/03/2012 3:58 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Mauro,

Sem querer abusar de sua boa vontade, mas já o fazendo, gostaria que fizesse pra mim a "linkagem" do arquivo CONSULTA com o BANCO DE DADOS(aba BD), ou pelo menos me ajudar a faze-la de forma correta.

É que não tô conseguindo de forma nenhuma.

Tem como modificar o código para apos realizar a consulta, caso o BANCO DE DADOS.XLSM já estiver aberto, ele não ser fechado. É que às vezes ele pode já estar aberto, em uso.

Segue o arquivo bd verdadeiro e o de consulta, zipados.

Obrigado.

 
Postado : 28/03/2012 12:42 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Leandro, o ideal paraevitarmos problemas mais tarde, é que o arquivo Banco de Dados não tivesse macros, somente os dados, isto diminui significamente o tamanho do arquivo.

Mas, voltando ao assunto, segue os arquivos ajustados, os problemas detectados pelo não funcionamento foram:
No arquivo de CONSULTA você colocou um Nome diferente no Rotulo , isto gera erro. Os nomes teem de coincidirem com as que estamos filtrando, você colocou "Valor a Protestar" e o certo é "Valor do Protesto" conforme está no arq BD.
Na rotina de filtrar alterei para pegar pelo nome da Aba e não pelo indice, uma vez que temos mais de uma aba no arquivo Banco de Dados.xlsm, alterei :
De :
wbBANCO_DE_DADOS.Sheets(1).Range("Lista_BD") - Aqui representa a aba de numero 1, se fosse para utilizar assim na rotina, e não adicionasse mais nenhuma aba, o certo seria Sheets(6)
Para :
wbBANCO_DE_DADOS.Sheets("BD").Range("Lista_BD") - Aqui refferenciamos direto qual aba estamos lidando, pelo nome.
Ajustei tambem na rotina para limpar os ranges corretamente, e limpar A2 se não obtivermos resultado.

No arquivo Banco de Dados.xlsm, Tambem limpei os Nomes no gerenciador de Nomes, acrescentei o "Lista_BD_CPF" que não tinha nesta aba. No Gerenciador só tem os nomes referentes a esta aba, exclui os outros porque duplicavam nos dois arquivos e pode gerar conflito, deletei a aba de consulta neste arquivo uma vez que estamos usando o arq externo.

Faça os testes e veja se da tudo certo, qq duvida retorne.

 
Postado : 28/03/2012 5:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Mauro,

Ficou perfeito, muito obrigado mesmo.

Realmente, se o arquivo banco de dados, tivesse só uma aba com os dados, acho que ficaria melhor.

Tô pensando em mudar o projeto e colocar as outras abas que teem lá, em arquivos distintos do Banco de dados.

Vc pode me dar um código(macro) em VBA que, Copie (colar especial) de uma célula em determinada aba de determinado arquivo, para a célula correspondente de outro arquivo( o Banco de DAdos, aba BD especificamente), pode ser somente uma célula, que eu faço a adaptação para as demais, para que eu possa seguir sua sugestão e separar o arquivo bando de dados (aba BD) das outras abas que o arquivo contem (apontamento, certificar intimação, ocorrencias, protesto, etc.)?

No mais, muito obrigado de novo.

 
Postado : 29/03/2012 10:58 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Leandro, não sei se entendi direito, mas se for somente questão de dividir o Banco de Dados em novos arquivos, é só clicar com o botão direito na aba e Selecionar "Mover ou Copiar" e depois para uma nova Pasta.

Se não for esta a questão, peço a gentileza de abrir um novo tópico para esta duvida.

[]s

 
Postado : 29/03/2012 6:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ok Mauro.

Muito obrigado.

Tópico encerrado.

 
Postado : 30/03/2012 12:26 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Muito bom este exemplo Alexandre, por isso que adoro o VBA temos inumeras opções.

Segue mais uma variação.
De inicio utilizei o "Gravador de Macros", uma vez que o recurso "Filtro Avançado" nos permite fazer o que o leandro pediu sem precisar de VBA, feito isto foi só efetuar alguns ajustes, nomeando os Ranges de Origem e Saida.
Aproveitei e adicionei a rotina que criar e recria os Ranges Nomeados, assim quando alterarmos o BD rodamos e recriamos os endereços dinamicamente, criei uma Coluna para a filtragem somente dos CPFs Únicos e fiz a validação na Celula para selecionar um CPF, apos criada a lista com os CPF únicos, estes são classificados em ordem crescente, e por ultimos a rotina para limpar a consulta anterior.
Poderiámos ter reduzido as rotinas, juntando-as, mas preferi deixar separadas para uma melhor compreensão.

leandro, reduzi o seu modelo para ficar mais leve e poder entender melhor o que foi feito e depois acrescenta-la no forum Biblioteca para servir de exemplo a outros que procuram por recursso semelhante.

Faça os testes e qq duvida, retorne.

[]s

Bom dia Mauro,

baixei a planilha citada e vi que é exatamente o que preciso, mas como aplica-la a minha necessidade é são elas.
Vou postar minha planilha dê uma olhada e veja o que você acha... a situação esta toda na aba relatórios...

 
Postado : 19/02/2013 6:57 am
(@obregon)
Posts: 0
New Member
 

Bom dia,

Alguém tens os arquivos postado nesse tópico, baixei mas ta corrompido.

Att,

 
Postado : 06/10/2015 8:10 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia,
Alguém tens os arquivos postado nesse tópico, baixei mas ta corrompido.
Att,

Obregon, consegui localizar dois dos arquivos anexados neste Tópico e atualizei, são eles :
BD_Leandro_AdvFilter.rar
Consulta_CPF.rar

Os demais, assim que possivel verificarei em um outro pc que guardava alguns backups para ver se acho.

[]s

 
Postado : 07/10/2015 6:17 am
(@obregon)
Posts: 0
New Member
 

Valeu Mauro!!! Na verdade queria tirar essa duvida rapida, abaixo parte do código que criei:

'Criar Variaveis Filtro Avançado
Dim Irange As Range
Dim Orange As Range
Dim Crange As Range

' Criar e Informar Caminho para Filtro Avançado
Set Crange = Range("View!A1:A2")
Set Irange = Range("BD!B5:E3000")
Set Orange = Range("View!C5")

' Executa Filtro Avançado
Irange.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Crange, CopyToRange:=Orange, Unique:=True
Range("View!D5:F100").Sort key1:=Range("View!D5:F100"), Order1:=xlAscending, Header:=xlYes

Como faço para definir ou escolher quais colunas o filtro vai retornar?

 
Postado : 08/10/2015 12:41 pm
Página 2 / 2