答案1
你很幸運,不需要 VBA。事實上,還有一種更簡單的方法,不需要 IF 測試:
=DATE(YEAR(NOW()),MONTH(NOW())+(DAY(NOW())>2),2)
我根據問題硬編碼了該月的第二天,但可以從單元格中檢索它或從原始截止日期中提取。
這不是測試您是否已經過了該月的目標日期,而是使用 TRUE 和 FALSE 分別被視為 1 和 0 的事實。 (DAY(NOW())>2)
要么為真,要么為假,因此將被視為1
您是否已經過了該月的第二天,或者0
是否還沒有。如果您過了那一天,就會加入1
該月。
如果這種情況發生在 12 月,Excel 就夠聰明來處理「13」月。時間要到明年一月。