Excel工作表中的列以此格式保存月份:
Oct_2010
我想要做的是,获取该月的最后日期。我想我会做的是,阅读单元格中的月份,获取下个月的第一天,然后减去一天,这样我就得到了上个月的最后一个日期。
但是,如何让Excel(VBA代码)在2010年10月阅读Oct_2010?
答案 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