在Excel代码中操作date
Excel工作表中的列以这种格式保存月份:
Oct_2010
我想要做的是,得到那个月份的最后一个date。 我想我会做的是,读单元格中的月份,获得下个月的第一天,然后减去一天,所以我得到了上个月的最后一个date。
但是,我怎么能得到Excel(VBA代码)阅读Oct_2010 2010年10月?
在VBA中
Function LastDayFromString(sDate As String) As Date Dim dtTemp As Date If Not sDate Like "???[_]####" Then Err.Raise 9999, , "Invalid date string format" dtTemp = DateValue(Replace(sDate, "_", "/")) LastDayFromString = DateSerial(Year(dtTemp), Month(dtTemp) + 1, 0) End Function
使用像
?lastdayfromstring("Oct_2010") 10/31/2010
怎么样:
=DATE(YEAR(REPLACE(A1,4,1,"/")),MONTH(REPLACE(A1,4,1,"/")),0)
A1 = Oct_2010