Notifications
Clear all

Simulador de Partilha e Consolidação de dados - VBA

15 Posts
4 Usuários
0 Reactions
2,558 Visualizações
(@miguexcel)
Posts: 167
Reputable Member
Topic starter
 

Boa tarde,

Necessito de vossa ajuda para o seguinte problema.

Tenho um arquivo enorme (como exemplo envio o arquivo "simuladorGeral") que contem informação de pessoal de minha empresa e regras para atribuição de aumento salarial que resulta do simulador.

No entanto, tenho que dividir essa informação por departamento, que são 120 departamentos, (ou seja, tenho que fazer um arquivo por departamento) para que os departamentos possam analisar a informação e fazer uma proposta diferente daquela que resulta do simulador. Depois tenho de voltar a consolidar a informação que regressa dos vários departamentos para o "SimuladorGeral".

Trata-se de um processo que atualmente é feito de forma manual e preciso tornar o processo mais automático para reduzir os erros que acontecem. No entanto, também preciso manter todas as formulas e formatações nos arquivos que são enviados para os departamentos, para que estes fiquem iguais ao simulador geral.

No fundo, preciso criar um fluxo:
1- Calculo no simulador (Arquivo: "SimuladorGeral")
2- Partilha da informação com os departamentos (Arquivos --> Simulador - ABC / Simulador - ADE / Etc...)
3- Consolidação das propostas dos departamentos no simulador

Alguem me ajuda?

Muito Obrigado

 
Postado : 03/07/2016 7:26 am
(@brunoxro)
Posts: 0
New Member
 

Boa tarde Miguexcel,

Pensei no seu problema e acho que consegui resolver o seu problema de gerar uma planilha para cada departamento.

Em anexo segue o arquivo.

Para você testar:
1 - Crie uma pasta e coloque o arquivo que criei.
2 - Clique no botão Abrir, aqui você vai ter três opções:
a) Se deixar em branco e pedir para gerar planilhas nada vai acontecer.
b) Se selecionar "Departamentos" e pedir para gerar, vai gerar uma planilha com a informação de cada Departamento (no exemplo, cinco departamentos=cinco planilhas). Elas serão salvas dentro da pasta onde está está o arquivo que criei.
CUIDADO: O programa está programado para substituir qualquer arquivo com o nome preexistente dentro dessa pasta.
c) Você seleciona algum departamento especifico e pede para gerar uma planilha.

Veja se é isso que você quer, os códigos estão dentro do botão "Gerar Planilhas".

Para você usar na prática.
1 - Crie uma pasta e coloque o arquivo que criei.
2 - Copie sua base para de informações para a Planilha "Simulador".
3 - Copie toda a coluna C (Departamento) e cole na coluna A da Planilha "Lista de Departamentos"
4 - Na célula A1, ao invés de "Departamento", escreva "Departamentos" (com o s).
5 - Selecione da célula A1 até o último departamento (Ctrl+seta para baixo)
6 - Nomeie essa região como Departamento2 (ou outro nome de sua preferência)
7 - Vá no editor do VBA, e selecione o UserForm1.
8- Depois clique em cima do ComboBox1 (caixa de combinação) , em Propriedade (se não aparecer aperte o F4) procure o campo RowSource.
9 - Escreva Departamento2 (ou o nome que você escolheu) dentro da RowSource
10 - Salve o arquivo, clique no botão abrir e confira se está aparecendo as opções dos departamentos para selecionar.
11 - Selecione "Departamentos" ou qualquer outro departamento da lista e veja se as planilhas foram geradas.

Qualquer dúvida é só avisar.

Sobre a parte de integrar de volta os valores de resposta, tive uma ideia mas vou demorar muito para montar e testar, se tiver tempo eu tento montar alguma coisa. Talvez outro colega do fórum possa ajudar.

Att,

 
Postado : 03/07/2016 2:50 pm
(@brunoxro)
Posts: 0
New Member
 

*Só um detalhe que esqueci.

Antes do passo 6 da mensagem acima, clique em "Remover Duplicadas" (Dados > Remover Duplicadas, ou Alt+S+M)

att,

 
Postado : 03/07/2016 3:01 pm
(@mprudencio)
Posts: 0
New Member
 

Ve se ajuda

É necessario, criar uma pasta em C: com o nome Proposta, para que o codigo funcione

Ao receber os arquivos do departamento é necessario salvar os arquivos no mesmo local.

Na guia Lista cole sua lista de departamentos na coluna A

 
Postado : 03/07/2016 3:41 pm
(@mprudencio)
Posts: 0
New Member
 

Faltou o Anexo

Algum moderador junte as duas postagens

 
Postado : 03/07/2016 3:47 pm
(@miguexcel)
Posts: 167
Reputable Member
Topic starter
 

MPrudencio,

muito obrigado pelos seus contributos. Funciona quase na perfeição mas existem 3 pequenos problemas:

1 - não tem forma de fazer o processo de separação sem criar a planilha 'modelo'?
2 - Nos arquivos de departamento, preciso também manter a formatação e formulas da plhanilha simulador
3 - Me dá a sensação que o processo é um pouco lento a correr. Aplicando num arquivo com mais dados, fica se enrolando um pouco. Existe forma de otimizar?

Sobre a parte de integrar de volta os valores de resposta, eu tenho tempo sim. Não sei se sua ideia já está incorporada nos arquivos que partilhou, mas o que vocês preparou está funcionando.

Mais uma vez, muito obrigado e fico esperando seu feedback.

Cumprimentos

 
Postado : 09/07/2016 12:38 pm
(@djunqueira)
Posts: 0
New Member
 

Fórmulas diferentes p/ usar no 'simulador'.

 
Postado : 09/07/2016 2:01 pm
(@mprudencio)
Posts: 0
New Member
 

A planilha modelo vc pode ocultar se quiser da pra fazer no vba ele exibe roda a macro oculta novamente, o usuario nem percebe a existencia da planilha modelo.

Se quiser da pra manter as formulas e formatação, e so formatar a planilha modelo e inseri nela as formulas, uma pequena modificação do codigo resolve isso.

A formatação de Tabela so deixa o arquivo PESADO

E se for para manter formulas eu trocaria esse monte de Ses, por um procv muito mais eficiente..., vc disse que tem mais de 120 departamentos, ate onde sei a função SE nao aceita isso tudo de aninhamentos

Vc tem 120 departamentos são 120 planilhas com qtas linhas ??

Isso leva um tempo para ser processado, talvez seja possivel melhorar o desempenho, mas nao acredito que seja muito mais rapido.

Qto tempo demora pra processar os 120 arquivos? 5 min? Pessoalmente considero razoavel.

 
Postado : 09/07/2016 5:51 pm
(@miguexcel)
Posts: 167
Reputable Member
Topic starter
 

MPrudencio,

Mais uma vez obrigado pelo seu feedback. O simulador que disponibilizei é apenas um exemplo. O arquivo em que trabalho tem mais colunas e cerca de 1500 linhas (1500 funcionários, de diferentes departamentos).

O processo de separação resulta em 120 arquivos (120 departamentos) de 10 linhas, em média. Está demorando mais de 15 minutos a processar, mas esse é o menor dos problemas. O importante é manter a formatação original e as formulas, pois quando os chefes de departamento vão trabalhar nos arquivos deles, têm de ver de imediato os impactos do que estão propondo.

Estou tentanto adaptar seu código para manter a formatação e formulas, mas está sempre dando erro. :(

Muito Obrigado.

 
Postado : 10/07/2016 10:59 am
(@djunqueira)
Posts: 0
New Member
 

1500 linhas não é um número grande, o problema está mais concentrado em como vc distribui essa informação.
Provavelmente seria melhor vc distribuir uma senha para acessar via intranet/internet a parte do cálculo q interessa a cada departamento.

 
Postado : 10/07/2016 11:20 am
(@miguexcel)
Posts: 167
Reputable Member
Topic starter
 

Como assim DJunqueira?

A ideia é ter um simulador geral controlado por mim e depois:

1- Separar a informação por departamento em que os chefes de departamento acedem ao seu arquivo e fazem as propostas que entenderem.
2- Consolidar a informação / propostas dos vários arquivos / departamentos para o simulador geral, de modo a poder controlar o processo e os custos. Assim, também consigo evitar que os chefes de departamento vejam a informação de todos os outros departamentos. Podia disponibilizar o simulador geral, mas assim iriam ver informação que não devem.

 
Postado : 10/07/2016 11:51 am
(@mprudencio)
Posts: 0
New Member
 

1500 linhas 15 min, isso tem algo de errado.

1500 linhas 120 planilhas uns 3 minutos é o aceitavel

Se puder disponibilizar o arquivo completo

120 departamentos e 1500 funcionarios eu testo e tento otimizar, nao precisa ser os dados originais

O importante é o mesmo formato e a mesma quantidade de departamentos e funcionarios.

 
Postado : 10/07/2016 12:23 pm
(@mprudencio)
Posts: 0
New Member
 

Preenchi aleatoriamente as 1500 linhas para funcionarios e 120 de departamentos, o codigo aqui rodou em 1 minuto, 15 min como vc disse tem algo errado.

Vc editou o codigo de alguma maneira?

 
Postado : 10/07/2016 12:51 pm
(@djunqueira)
Posts: 0
New Member
 

Como assim DJunqueira?
A ideia é ter um simulador geral controlado por mim e depois:
1- Separar a informação por departamento em que os chefes de departamento acedem ao seu arquivo e fazem as propostas que entenderem.
2- Consolidar a informação / propostas dos vários arquivos / departamentos para o simulador geral, de modo a poder controlar o processo e os custos. Assim, também consigo evitar que os chefes de departamento vejam a informação de todos os outros departamentos. Podia disponibilizar o simulador geral, mas assim iriam ver informação que não devem.

A ideia é q alguém montasse uma página intranet/internet (não sei como a sua empresa opera) em q o chefe do departamento receberia uma senha exclusiva, acessaria a página e só visse a informação q lhe corresponde. Não veria a simulação de nenhum outro departamento q não o dele. Essa mesma página eventualmente poderia receber uma contraproposta, dependendo de como vc administra isso.

Particularmente não sei montar essa página, mas se vc procurar algum fórum de intranet/internet eles deverão fazer isso com um pé nas costas, pois a rotina é bem simples.

 
Postado : 10/07/2016 2:45 pm
(@miguexcel)
Posts: 167
Reputable Member
Topic starter
 

Alguém me pode ajudar a finalizar este trabalho?

Estou tendo dificuldade em manter formulas e formatação quando gera as diferentes planilhas por departamento? Qual a melhor forma de fazer isso?

Obrigado

 
Postado : 11/08/2016 3:20 pm