VBA运行macros月的最后一天

我想返回本月的最后一天。 从下拉式combobox中select月份。 如果我select一月份,这将返回“2017/1/31”,但我只想它返回31.我错过了什么?

EndDate = WorksheetFunction.EoMonth(ComboBox1.Value & Year(Date), 0) 

函数WorksheetFunction.EoMonth返回一个Date ,而你想要一个表示date(这个月的最后一天)的数字值。

所以你需要一个Longvariables,你可以使用Day函数。

 EndDate = WorksheetFunction.EoMonth(ComboBox1.Value & Year(Date), 0) Dim myDay As Long myDay = Day(EndDate)