我想得到一个月的最后一天。
这是我的代码。如果我想调试它并将其编译到数据库中,它说它的语法有错误。
Public Function GetNowLast() As Date
Dim asdfh As Date
asdfh = DateValue("1." _
& IIf(Month(Date) + 1) > 12, Month(Date) + 1 - 12, Month(Date) + 1) _
&"."&IIf(Month(Date)+1)>12 , Year(Date)+1,Year(Date))
asdf = DateAdd("d", -1, asdf)
GetNowLast = asdf
End Function
最佳答案
GD Linuxman,
让我们专注于获得结果... :-)
另请参阅:here
@Scott Craner的评论很现场!尽管严格来说,没有必要使用格式。 (假设您要使用“日期”对象)
要实现您想要的功能,请按照以下步骤设置功能:
Function GetNowLast() as Date
dYear = Year(Now)
dMonth = Month(Now)
getDate = DateSerial(dYear, dMonth + 1, 0)
GetNowLast = getDate
End Function
您可以通过以下方式在代码中调用该函数:
Sub findLastDayOfMonth()
lastDay = GetNowLast()
End Sub
或者,可能更整洁:
Function GetNowLast(inputDate as Date) as Date
dYear = Year(inputDate)
dMonth = Month(inputDate)
getDate = DateSerial(dYear, dMonth + 1, 0)
GetNowLast = getDate
End Function
您可以调用该函数并将其传递给输入参数。
Sub findLastDayOfMonth()
lastDay = GetNowLast(Now()) 'Or any other date you would like to know the last day of the month of.
End Sub
另请参阅@KekuSemau的this整洁解决方案
关于vba - 获取每月的最后一天,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33111285/