Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datetime Excel代码中的日期处理_Datetime_Vba_Excel - Fatal编程技术网

Datetime Excel代码中的日期处理

Datetime Excel代码中的日期处理,datetime,vba,excel,Datetime,Vba,Excel,excel工作表中的列按以下格式保存月份: Oct_2010 我想做的是,得到那个月的最后一天。我想我应该做的是,读取单元格中的月份,得到下个月的第一天,然后减去一天,这样我就得到上个月的最后一天 但是,如何让Excel(VBA代码)将2010年10月解读为2010年10月?如何: =DATE(YEAR(REPLACE(A1,4,1,"/")),MONTH(REPLACE(A1,4,1,"/")),0) 其中A1=2010年10月,在VBA中 Function LastDayFromStr

excel工作表中的列按以下格式保存月份:

Oct_2010
我想做的是,得到那个月的最后一天。我想我应该做的是,读取单元格中的月份,得到下个月的第一天,然后减去一天,这样我就得到上个月的最后一天

但是,如何让Excel(VBA代码)将2010年10月解读为2010年10月?

如何:

 =DATE(YEAR(REPLACE(A1,4,1,"/")),MONTH(REPLACE(A1,4,1,"/")),0)
其中A1=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 

这正是我要找的。非常感谢。我会试试看,然后回来。