我希望按天计算每月总天数. 例如 月是’01 / 2011′(mm / yyyy) Expected OutputSunday - 5Monday - 5Tuesday - 5Wednesday - 4Thursday - 4Friday - 4Saturday - 4 试过的代码 Dim lngCnt As Long Dim strOut As String dtStart = Da
例如
月是’01 / 2011′(mm / yyyy)
Expected Output Sunday - 5 Monday - 5 Tuesday - 5 Wednesday - 4 Thursday - 4 Friday - 4 Saturday - 4
试过的代码
Dim lngCnt As Long Dim strOut As String dtStart = DateValue('01/2012') dtEnd = DateAdd("d", DateDiff("d", '01/2012', DateAdd("m", 1, '01/2012') - 1), dtStart) lngCnt = Weekday(dtStart) - 3 Do lngCnt = lngCnt + 3 strOut = strOut & Format(lngCnt, "00") & "," Loop While lngCnt + 3 <= dtEnd - dtStart
上述代码将给出结果为星期三= 4,11,18,25
但我希望像这样的周三= 4’的总数
如何在vb6中完成
需要VB6代码帮助
更新的答案更新了您的评论以返回
>仅限一天的一个月中的天数(在Msgbox提示符下按是),或
>一周中每天的一个月天数(在Msgbox提示下按否).
Sub GetDay() Dim strMonth As String Dim strOut As String Dim lngDay As Long Dim lngCheck As Long strMonth = "01/2012" lngCheck = MsgBox("Press Yes to run single day" & vbNewLine & "Press No to run the entire week", vbYesNoCancel, "User choice") If lngCheck = vbCancel Then Exit Sub If lngCheck = vbYes Then 'Option 1 one day lngDay = vbFriday strOut = strOut & DaysInMonth(lngDay, strMonth) & vbNewLine Else 'Option 2 all days For lngDay = vbSunday To vbSaturday strOut = strOut & DaysInMonth(lngDay, strMonth) & vbNewLine Next End If MsgBox strOut End Sub Function DaysInMonth(ByVal lngDay, ByVal strMonth) Dim dtStart As Date Dim dtEnd As Date Dim dtTest As Date Dim lngCnt As Long Dim i As Long dtStart = DateValue(strMonth) dtEnd = DateAdd("d", DateDiff("d", strMonth, DateAdd("m", 1, strMonth) - 1), dtStart) lngCnt = (dtEnd - dtStart + 1) DaysInMonth = WeekdayName(lngDay, , vbSunday) & " - 4" For i = 1 To lngCnt Mod 7 If Weekday(DateAdd("d", i - 1, dtStart)) = lngDay Then DaysInMonth = WeekdayName(lngDay, , vbSunday) & " - 5" Exit For End If Next End Function