Notifications
Clear all

Inserir Linhas sob Condições

5 Posts
2 Usuários
0 Reactions
1,345 Visualizações
 rica
(@rica)
Posts: 3
New Member
Topic starter
 

Estava precisando de ajuda com uma macro que além de inserir linhas com base num valor apresentado de uma determinada coluna, também preenchesse as células destas linhas inseridas baseado em determinadas condições.

Minha tabela original encontra-se no anexo

Inicialmente teríamos que criar mais 4 colunas a Direita da Coluna PrazoAnos:
ValorAno
PontosAno
AnoContrato
DataInicio
DataTérmino

Inserção de Linhas com base no PrazoAnos:
Como o contrato do Oldemar é de 5 anos, seria necessária a criação de 4 linhas abaixo da linha dele. Isto porque o número de linhas a inserir por contrato é igual ao prazo do contrato menos 1
No caso da Cliente Ana Cristina seriam 2 linhas a serem inseridas abaixo da linha original dela
No caso do Cliente Cezar seriam 2 linhas a serem inseridas abaixo da linha original dele
Inseridas as linhas, seria necessário preenche-las da seguinte forma:

Na coluna DataAssinatura, a data de assinatura seria repetida
Na Coluna NomeCliente, o nome do cliente seria repetido
Na Coluna NumContrato, o número do contrato seria repetido
Na Coluna PrazoContrato, o Prazo do Contrato seria repetido
Na Coluna ValorContrato, o Prazo do Contrato seria repetido
Idem para a Coluna Status
Idem para a Coluna TotalPontos
Idem para a Coluna PrazoAnos
Já para a Coluna ValorAno, precisaria que o valor apresentado fosse o resultado da divisão entre ValorAno e PrazoAnos
Por exemplo: No caso do Oldemar que tem um contrato de 5 anos e o valor do Contrato(Situação) é de R$ 15.000, cada linha do contrato dele deverá apresentar o valor de R$ 3.000

Já para a Coluna PontosAno, precisaria que o valor apresentado fosse o resultado da divisão entre PontosContrato e PrazoAnos
Por exemplo: No caso do Oldemar que tem um contrato de 5 anos e o Total de Pontos é de 150.000, cada linha de PontosAno deverá apresentar o valor de 30.000 (150.000/5)
AnoContrato: Esta Coluna deverá apresentar o número do Ano a que o Contrato se refere. No caso do Oldemar, seria 1, na primeira linha, 2, na segunda linha até o 5 na 5ª linha, já que o contrato dele tem 5 anos
DataInicio – Seria a Data Inicial de cada Ano de Contrato
No caso do Oldemar seria 09/07/04 na primeira linha e na segunda linha 09/07/04
DataTérmino - Seria a Data Final de cada Ano de Contrato
No caso do Oldemar, na primeira linha dele, ou seja, no primeiro Ano do Contrato dele seria 08/07/05, na segunda linha seria de 08/07/06

Minha tabela final encontra-se no anexo
Muito obrigado e qualquer ajuda é bem-vinda

 
Postado : 04/10/2017 10:12 pm
leandroxtr
(@leandroxtr)
Posts: 447
Reputable Member
 

Não entendi muito bem a parte final em que voce fala da DataInicio e DataFinal.. qual é o critério?

Vi que na planilha original temos uma data do contrato (possivelmente será a DataInicio) e a DataFinal será a soma dos anos do contrato(de acordo com cada linha)??

Se te ajudou, não se esqueça de dar um like na resposta e marcar o tópico como finalizado.

Abraços!
Leandro Cordeiro

 
Postado : 05/10/2017 5:56 am
 rica
(@rica)
Posts: 3
New Member
Topic starter
 

/Bom dia Leandro e obrigado pela ajuda e pelo interesse,

Na verdade, o nome da primeira coluna da tabela (DataInicio) deve ser alterada para DataAssinatura

Tanto a data de inicio (DataInicio) como a data de término(DataTérmino) tem relação ao Ano de vigência do Contrato(AnoContrato) e a data de assinatura

Por exemplo um contrato de 3 anos de Prazo:
Seria assim:
Data Assinatura AnoContrato DataInicio DataTérmino
09/07/14 1 09/07/14 08/07/15
09/07/15 2 09/07/15 08/07/16
09/07/16 3 09/07/16 08/07/17

Qualquer dúvida, me fala.
Obrigado

 
Postado : 05/10/2017 6:21 am
leandroxtr
(@leandroxtr)
Posts: 447
Reputable Member
 

Bom dia!

Faça o teste e me dê o FeedBack.

Essa planilha deu bastante trabalho, UFA!

OBS: Eu não fiz nenhum tipo de tratamento para erros, portanto, tome cuidado para não executar a macro duas vezes ou executá-la em cima de outro tipo de modelo de planilha.

Se te ajudei, manda um LIKE e marca a postagem como "Resolvido".

Abraços e tmj

Se te ajudou, não se esqueça de dar um like na resposta e marcar o tópico como finalizado.

Abraços!
Leandro Cordeiro

 
Postado : 05/10/2017 7:46 am
 rica
(@rica)
Posts: 3
New Member
Topic starter
 

Sensacional Leandro!

Ficou show!

Não tenho como lhe agradecer.. Muitíssimo obrigado!

Você estaria disponível para trabalhar como parceiro num projeto específico que estou atuando como freelancer?

Segue meu telefone (21) *********** ou se preferir posso te ligar.

Abs.
Zé Ricardo

 
Postado : 05/10/2017 8:05 am