输入月份作为整数,输出该月的最后一天

Input month as an integer, output the final day of that month

我正在尝试编写一个 Excel VBA 函数,当仅给定月份编号作为整数时,它以 yyyy-mm-dd 格式输出一个月中的最后一天。

因此对于一月份,将输入 1,输出将是 2014-01-31

我知道如何使用 Format(date(), "yyyy-mm-dd") 重新格式化日期,并认为我可以使用 DateSerial 计算最后一天,但我不确定如何将整数月份数字输入 DateSerial 函数.

解决此问题的最佳方法是什么?

尝试:

函数:=TEXT(DATE(2014, A1 + 1, 1)-1,"yyyy-mm-dd")

VBA: DateSerial(Year, Month + 1, 1) - 1

此函数查找下个月的第一天,然后减去一天。

粘贴到 A1 以外的任意单元格,并在 A1 中输入您的月份进行测试。

作为一个公式,根据您的格式,假设年份是 2014 年并且您的月份编号在 A1 中:

=EOMONTH(41639,A1)