Вам повезло, VBA не требуется. На самом деле, есть еще более простой подход, который не требует теста IF:
=DATE(YEAR(NOW()),MONTH(NOW())+(DAY(NOW())>2),2)
Я жестко запрограммировал 2-й день месяца, основываясь на вопросе, но его можно было извлечь из ячейки или извлечь из первоначальной даты родов.
Вместо того, чтобы проверять, прошли ли вы целевой день месяца, здесь используется тот факт, что TRUE и FALSE рассматриваются как 1 и 0 соответственно. (DAY(NOW())>2)
будет либо истинным, либо ложным, поэтому будет восприниматься так, как 1
если бы вы прошли 2-й день месяца или 0
не прошли. Если вы прошли этот день, он прибавляется 1
к месяцу.
Excel достаточно умен, чтобы справиться с месяцем «13», если это произойдет в декабре. Это идет в январе следующего года.