设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4541|回复: 14
打印 上一主题 下一主题

[模块/函数] 怎样获取每月的实际工作日(即不包括周六日)

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-4 10:52:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
请问:怎样获取每月的实际工作日(即不包括周六日)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
15#
发表于 2013-5-23 19:14:33 | 只看该作者
本帖最后由 aslxt 于 2013-5-23 19:20 编辑

NETWORKDAYS(start_date,end_date,holidays)
这个是excel的表函数,只是引用而已。执行起来有点慢,因为要打开excel和关闭excel。大侠们可有更好的方法?
第三个参数,可以自己定义(其实就是特定的节假日)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
14#
发表于 2013-5-23 19:11:38 | 只看该作者
Function MyNetworkDays(ByVal d1 As Date, ByVal d2 As Date) As Long
  '要引用 microsoft excel XX.0 object library
   Dim objExcel As Excel.Application
   Set objExcel = CreateObject("Excel.Application")
   MyNetworkDays = objExcel.Application.NetworkDays(d1, d2)
   objExcel.Quit
   Set objExcel = Nothing
End Function
13#
发表于 2013-5-23 15:42:40 | 只看该作者
如过光是去周六周日的话先要判断当前月份天数 然后在循环判断是否为周六周日 如果是去掉.......不过确实不怎么实用因为还有好多国定假期呢
12#
发表于 2013-5-22 17:48:23 | 只看该作者
ACMAIN_CHM 发表于 2009-2-4 22:13
简单的计算方法。如下这个函数可以粗略的实现去除周六,周日。

Public Function wkday(bdt As Date, edt ...

请问有实例么!多谢。
11#
发表于 2013-5-22 17:47:52 | 只看该作者
huzaixin 发表于 2009-7-14 22:01
Public Function WeekDayCount(firstDate As Date, LastDate As Date) As Integer
'计算工作日天数
    O ...

请问有实例么!多谢。

点击这里给我发消息

10#
发表于 2009-7-14 22:01:03 | 只看该作者
Public Function WeekDayCount(firstDate As Date, LastDate As Date) As Integer
'计算工作日天数
    On Error GoTo Err:

    Dim i As Integer
    Dim TempDate As Date    '临时日期
    Dim Tempts As Long
    Tempts = DateDiff("d", firstDate, LastDate)
    For i = 0 To Tempts
        TempDate = DateAdd("d", i, firstDate)
        Select Case Format(TempDate, "w")
        Case 2, 3, 4, 5, 6
            WeekDayCount = WeekDayCount + 1
        End Select
    Next
Err:
    Exit Function

End Function
9#
 楼主| 发表于 2009-2-7 13:43:57 | 只看该作者
我的理解是:0表示星期六、星期天;1表示工作日;9表示假日。
8#
发表于 2009-2-6 08:40:37 | 只看该作者
请问,4楼表中CMODE中的1、0、9等表示什么意思?
7#
 楼主| 发表于 2009-2-5 09:23:38 | 只看该作者
但比较细致的做法,因为各企业的排班情况不同,特别是部分法定假日的不确定性(春节,中秋)。
一般来说是做一个日期表 calendar (cdate,cmode)
CDATECMODE1/1/200991/2/200911/3/200901/4/200901/5/200911/6/2009 ...
ACMAIN_CHM 发表于 2009-2-4 22:20

此方法虽然比较麻烦,但是计算准确,谢谢指点!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-21 18:39 , Processed in 0.100771 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表