在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