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