类似的东西(在vba 中测试)
周日子查询的最终更新
根据下面 Gopal 评论中的要求
Dim strDate As String
Dim dtStart As Date
Dim dtEnd As Date
Dim stEnd As Date
Dim lngCnt As Long
Dim strOut As String
strDate = "01/2012"
dtStart = DateValue(strDate)
dtEnd = DateAdd("d", DateDiff("d", strDate, DateAdd("m", 1, strDate) - 1), dtStart)
lngCnt = Weekday(dtStart) - 7
Do
lngCnt = lngCnt + 7
strOut = strOut & Format(lngCnt, "00") & vbNewLine
Loop While lngCnt + 7 <= dtEnd - dtStart
MsgBox strOut
更新
请注意,我需要使用 lngdays-1 来添加少于一个月的 1 天(即 2011 年 1 月 31 日),否则结果会是 2011 年 2 月 1 日
Dim strDate As String
Dim lngdays As Long
strDate = "01/2011"
lngdays = DateDiff("d", strDate, DateAdd("m", 1, strDate))
MsgBox Format(DateAdd("d", lngdays - 1, strDate), "dddd (dd/mm/yyyy)")
旧
Dim lngdays As Long
lngdays = DateDiff("d", "01/2011", DateAdd("m", 1, "01/2011"))
MsgBox Format(DateSerial(2011, 1, lngdays), "dddd (dd/mm/yyyy)")