Ordenação via VBA e...
 
Notifications
Clear all

Ordenação via VBA em 5 colunas

9 Posts
3 Usuários
0 Reactions
1,589 Visualizações
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Olá a todos e boa tarde.

Complementando algumas dúvidas anteriores, preciso efetuar uma ordenação de aproximadamente 5 colunas como parâmetros. Encontrei alguns códigos que efetuam uma ordenação, porém com algumas limitações tais como, apenas em uma coluna e sem avaliar o intervalo, além de ordenar a propria fonte de dados.

A situação é que tenho uma planilha que tende a crescer devido o uso diário de pelo menos 8 usuários. A planilha é composta de 6 coluna que são alimentadas de acordo com critérios que estabeleço a parte. Mas é o seguinte:

* O intervalo é variável em quantidades de linhas.
* O procedimento consiste em percorrer a planilha (base) e transpor as informações já ordenadas para outra planilha.
* O acionamento deve ser através de botão.

Em anexo tem o exemplo de como deve resultar a ordenação.

Desde já agradeço aos que ajudarem.

 
Postado : 06/07/2016 10:57 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Luiz, procure utilizar o Gravador de Macros com os passos que utilizou para chegar ao que pretende e depois é só fazer os ajustes.

De uma olhada tambem nestes links :
Sort Macro with dynamic range and customOrder excel - http://stackoverflow.com/questions/1209 ... rder-excel

Classificar dados no Excel de forma personalizada - http://gurudoexcel.com/classificacao-pe ... -de-dados/

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/07/2016 8:30 am
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Olá Mauro, boa tarde. Tudo beleza ?.

Sou visitante assíduo do site do Laender. Gosto muito e tem me ajudado também o do Alessandro Trovato. Seguinte, a classificação em si não é nenhum bicho papão. A questão são os detalhes. Tenho uma planilha base e dela preciso montar um relatório. Uso fórmulas para montar o relatório sempre ordenado conforme o post. Ocorre que, como a planilha é atualizada constantemente, as fórmulas do relatório são recalculadas a todo instante e isto deixa a planilha extremamente lenta. Mas o relatório é baseado nas informações da planilha que postei, então a idéia e evitar os recálculos. A macro faria essa organização a qualquer momento e o restante das fórmulas faria a totalização. Outro detalhe é determinar o intervalo a ser ordenado e a transposição para uma outra planilha. É isso.

 
Postado : 07/07/2016 11:31 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Luiz, não sou de rodeios e gosto de desafios, mas sinceramente este eu vou pular, não consegui entender corretamente o que pretende, e se percebe, que não é como diz o titulo sobre a classificação por colunas, tem outras questões juntas que me deixaram confuso, e como o tempo não ajuda muito, fica inviável no momento. Tambem no seu exemplo não temos nenhuma formula, então não sei quais formulas está utilizando que já ordena conforme deseja.
Já em sua última linha você diz :
Outro detalhe é determinar o intervalo a ser ordenado e a transposição para uma outra planilha
O intervalo ou intervalos temos um exemplo em um dos link que passei a "ordenação com range dinamico" (Sort Macro with dynamic range), agora quanto a "transposição para uma outra planilha", não entendi.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/07/2016 12:59 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde luizhcosta,

Peguei o link que o Mauro Coutinho postou do GurudoExcel e crie uma macro que realiza a classificação que você escreveu.

Verifique se é isso que você deseja, está no módulo 2.

att,

 
Postado : 07/07/2016 2:44 pm
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Olá Mauro,

Vou te explicar rapidamente a questão.

Primeiro quanto as fórmulas. Não citei fórmulas no post, citei apenas que o preenchimento obedece a critérios. O arquivo em anexo é bem explicativo, ele mostra a situação atual e a desejada. Como disse, a ordenação não é o grande problema, eu poderia usar o gravador de macros. Mas além dessa ordenação, tem a transposição. Como é possível ver, os intervalos das situações é o mesmo, isso em relação as colunas. As fórmulas, elas estão nas colunas posteriores e agem sobre os dados ordenados.

Vi os links. Fiz testes e apresentava sempre um erro quanto o intervalo, não lembro direito.O do Laender, eu já conhecia. Mas ele não transporta para outra planilha. Esse transporte é muito importante pois o relatório estará separado da base de dados.

A planilha "situação atual" é a base de dados. A "Situação desejada" é parte para um relatório. Mas o foco são a transposição de forma ordenada, acho que é percebível no arquivo. Fiz a ordenação, apenas por 3 colunas, com a função nativa do excel..

Vou ver a sugestão do colega.

Mas agradeço pelas suas considerações.

 
Postado : 07/07/2016 4:28 pm
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Boa tarde luizhcosta,

Peguei o link que o Mauro Coutinho postou do GurudoExcel e crie uma macro que realiza a classificação que você escreveu.

Verifique se é isso que você deseja, está no módulo 2.

att,

Bruno, o arquivo que postei como exemplo mostra a situação atual e a desejada. A visão de solução era, o código agir sobre determinado intervalo (situação atual), executar a ordenação e resultar na transposição para outra planilha (situação desejada). Na sua sugestão existe uma terceira planilha. Imaginei que poderia "apagar" o conteúdo desta terceira planilha, acionar a macro e todo o processo descrito acima seria executado. Mas percebi que, caso os dados sejam apagados, a macro não traz novamente os dados ordenados. Esse foi o único detalhe que percebi.

Novamente em detalhes: Existem 2 planilhas, em uma estão dos dados deforma desordenada. A outra planilha "pode" estar vazia, ou com dados ordenados anteriormente. Caso esteja vazia, deve receber os dados ordenados. Caso já existam dados, devem ser sobrepostos com os novos dados.

É isso.

Obrigado pela sua atenção.

 
Postado : 07/07/2016 4:39 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa noite luizhcosta,

Adicione uma planilha no seu arquivo como exemplo.

Sobre a parte de passar os dados de uma planilha para outra, pode-se gerar uma macro para copiar os valores.

Fiz isso e coloquei a modificação em anexo.

No módulo 2 você pode ver o código.

Att,

 
Postado : 09/07/2016 6:12 pm
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Caro brunoxro,

Perfeito!.Ficou como imaginado e vai me ajudar bastante.
Obrigado.

 
Postado : 09/07/2016 8:41 pm