计算工作日

编程入门 行业动态 更新时间:2024-10-26 16:22:13

计算<a href=https://www.elefans.com/category/jswz/34/1767907.html style=工作日"/>

计算工作日

VB、VBA中计算工作日(仅剔除星期六、日)的函数。

Function GetWorkdayCount(StartDay As Date, EndDay As Date) As Integer
Dim NumS As Integer, NumY As Integer
Dim WeekdayNumY(7, 6) As Integer
WeekdayNumY(1, 1) = 0
WeekdayNumY(1, 2) = 0
WeekdayNumY(1, 3) = 0
WeekdayNumY(1, 4) = 0
WeekdayNumY(1, 5) = 0
WeekdayNumY(1, 6) = 1
WeekdayNumY(2, 1) = 0
WeekdayNumY(2, 2) = 0
WeekdayNumY(2, 3) = 0
WeekdayNumY(2, 4) = 0
WeekdayNumY(2, 5) = 1
WeekdayNumY(2, 6) = 2
WeekdayNumY(3, 1) = 0
WeekdayNumY(3, 2) = 0
WeekdayNumY(3, 3) = 0
WeekdayNumY(3, 4) = 1
WeekdayNumY(3, 5) = 2
WeekdayNumY(3, 6) = 2
WeekdayNumY(4, 1) = 0
WeekdayNumY(4, 2) = 0
WeekdayNumY(4, 3) = 1
WeekdayNumY(4, 4) = 2
WeekdayNumY(4, 5) = 2
WeekdayNumY(4, 6) = 2
WeekdayNumY(5, 1) = 0
WeekdayNumY(5, 2) = 1
WeekdayNumY(5, 3) = 2
WeekdayNumY(5, 4) = 2
WeekdayNumY(5, 5) = 2
WeekdayNumY(5, 6) = 2
WeekdayNumY(6, 1) = 1
WeekdayNumY(6, 2) = 2
WeekdayNumY(6, 3) = 2
WeekdayNumY(6, 4) = 2
WeekdayNumY(6, 5) = 2
WeekdayNumY(6, 6) = 2
WeekdayNumY(7, 1) = 1
WeekdayNumY(7, 2) = 1
WeekdayNumY(7, 3) = 1
WeekdayNumY(7, 4) = 1
WeekdayNumY(7, 5) = 1
WeekdayNumY(7, 6) = 1
NumS = (EndDay - StartDay) \ 7
NumY = (EndDay - StartDay) Mod 7
If NumS = 0 And NumY = 0 ThenGetWorkdayCount = 0
ElseGetWorkdayCount = EndDay - StartDay - NumS * 2 - WeekdayNumY(Weekday(StartDay), NumY)
End If
End Function

参考:VB中定义数组的起始下标默认从0开始。用Option Base 1语句将数组默认起始下标设置为 1。如果没有定义option base的话,或者定义数组是没有指定1 to N的方式,默认就是0开始。详见这个链接

更多推荐

计算工作日

本文发布于:2023-06-27 19:08:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/915706.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:工作日

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!