Eu tenho uma planilha Excel que lista nossa data de vencimento atual. As datas de vencimento são no mesmo dia de cada mês (02/09, 02/10, etc) e quero que a data de vencimento seja atualizada assim que a data antiga passar, para que não precise fazer isso manualmente ou ter uma coluna para cada mês. Tenho certeza de que existe uma fórmula para fazer isso, mas nada está funcionando.
A fórmula mostrada é a que tenho agora e não sei por que não está funcionando - embora mesmo isso eu ache que teremos problemas depois que a data de vencimento de dezembro passar. Alguma ideia?
Procurando uma solução não-VBA.
Responder1
Você está com sorte, não é necessário VBA. Na verdade, existe uma abordagem ainda mais simples que não requer um teste IF:
=DATE(YEAR(NOW()),MONTH(NOW())+(DAY(NOW())>2),2)
Codifiquei o segundo dia do mês com base na pergunta, mas ele pode ser recuperado de uma célula ou extraído da data de vencimento original.
Em vez de testar se você passou do dia alvo do mês, isso usa o fato de que TRUE e FALSE são tratados como 1 e 0, respectivamente. (DAY(NOW())>2)
será verdadeiro ou falso, portanto será tratado como 1
se você tivesse passado do segundo dia do mês ou 0
não. Se você já passou desse dia, ele soma 1
o mês.
O Excel é inteligente o suficiente para lidar com o mês “13” se isso acontecer em dezembro. Vai para janeiro do próximo ano.