在Excel代码中操作日期

时间:2011-01-26 17:57:48

标签: excel datetime vba excel-vba

Excel工作表中的列以此格式保存月份:

Oct_2010

我想要做的是,获取该月的最后日期。我想我会做的是,阅读单元格中的月份,获取下个月的第一天,然后减去一天,这样我就得到了上个月的最后一个日期。

但是,如何让Excel(VBA代码)在2010年10月阅读Oct_2010?

2 个答案:

答案 0 :(得分:1)

怎么样:

 =DATE(YEAR(REPLACE(A1,4,1,"/")),MONTH(REPLACE(A1,4,1,"/")),0)

A1 = Oct_2010

答案 1 :(得分:1)

在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