百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

计算两个日期之间相差多少天,VBA函数轻松完成

yuyutoo 2025-01-11 18:27 2 浏览 0 评论

No.1

日期计算在Excel中使用相当广泛,而且也十分复杂,不可能一朝学会。

但也不是说就学不会,只有仔细去研究,其实用到的日期计算也不多。

本节介绍一下,如何获得两个日期之差值,怎么计算。

如要计算两个日期相差天数,可使用如下代码:

DateDiff("d","2021-02-01","2021-02-11")

返回一个数值10。这就是两个日期之间相差10天。

其中DateDiff是计算日期相差值的函数,参数"d"代表按"天"进行计算。

其后两个日期,进行计算的两个日期。

具体函数语法和参数如下图所示:

No.2

DateDiff函数有5个参数,前三个必选,后两个可选。

以下为参数firstdayofweek和firstdayofyear参数可选值。

这两个参数代表从开始计算的起始日期。

No.3

举几个例子说明一下,如何对两个日期进行计算。

下图为计算两个日期之间有多少天数。

下图为计算两个日期之间有几个星期。

下图为计算两个日期之间有几个工作周。

工作日和天是两个概念,工作日返回两个时间段之间的周数。

No.4

看一下代码如何构建。

计算日期相差值函数

Private Sub GetDateDiff(DateStyle As String, DateString As String)
    Dim xObj As Object, T1 As Date, T2 As Date, T3Obj As Object
    For Each xObj In ActiveSheet.Shapes
        If xObj.Type = 17 Then
            Select Case xObj.Name
                        Case "文本框 1"
                            T1 = xObj.TextFrame2.TextRange.Characters.Text
                        Case "文本框 2"
                            T2 = xObj.TextFrame2.TextRange.Characters.Text
                        Case "文本框 3"
                            Set T3Obj = xObj
            End Select
         End If
     Next xObj
                With T3Obj.TextFrame2.TextRange
                    .Characters.Text = "日期相差:" & _
                    VBA.Format(DateDiff(DateStyle, T1, T2), "00") & DateString '计算日期差
                    .Characters(1, 5).Font.Size = 35
                    .Characters(6, 2).Font.Size = 50
                End With
End Sub

上面函数功能是实现任何两个文本框内的日期值之间的相差数,这里无论是天,年或周,都可以调用此函数。

调用方法:

Private Sub CommandButton1_Click()
Dim NowDate  As Date
NowDate = Application.InputBox _
("设置日期", "输入日期", _
VBA.Format(DateAdd("d", 5, Date) _
, "yyyy-mm-dd"), , , , , 1)
If Not IsDate(NowDate) Then Exit Sub
SetDate "文本框 2", NowDate
GetDateDiff "d", "天"'调用计算函数
End Sub

上面代码中GetDateDiff "d","天"这一行就是调用上面的函数。

  • "d"代表计算天数。
  • "w"代表计算工作日。
  • "ww"代表计算周数。
  • "m"代表计算月数。
  • "yyy"代表计算年数。
  • 日期计算是个很重要的基本操作,如何熟练掌握,对各类数据计算有很大帮助作用。

    欢迎关注、收藏。

    相关推荐

    史上最全的浏览器兼容性问题和解决方案

    微信ID:WEB_wysj(点击关注)◎◎◎◎◎◎◎◎◎一┳═┻︻▄(页底留言开放,欢迎来吐槽)●●●...

    平面设计基础知识_平面设计基础知识实验收获与总结
    平面设计基础知识_平面设计基础知识实验收获与总结

    CSS构造颜色,背景与图像1.使用span更好的控制文本中局部区域的文本:文本;2.使用display属性提供区块转变:display:inline(是内联的...

    2025-02-21 16:01 yuyutoo

    写作排版简单三步就行-工具篇_作文排版模板

    和我们工作中日常word排版内部交流不同,这篇教程介绍的写作排版主要是用于“微信公众号、头条号”网络展示。写作展现的是我的思考,排版是让写作在网格上更好地展现。在写作上花费时间是有累积复利优势的,在排...

    写一个2048的游戏_2048小游戏功能实现

    1.创建HTML文件1.打开一个文本编辑器,例如Notepad++、SublimeText、VisualStudioCode等。2.将以下HTML代码复制并粘贴到文本编辑器中:html...

    今天你穿“短袖”了吗?青岛最高23℃!接下来几天气温更刺激……

      最近的天气暖和得让很多小伙伴们喊“热”!!!  昨天的气温到底升得有多高呢?你家有没有榜上有名?...

    CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式

    之前也有写过CSS优惠券样式《CSS3径向渐变实现优惠券波浪造型》,这次再来温习一遍,并且将更为详细的讲解,从布局到具体样式说明,最后定义CSS变量,自定义主题颜色。布局...

    柠檬科技肖勃飞:大数据风控助力信用社会建设

    ...

    你的自我界限够强大吗?_你的自我界限够强大吗英文

    我的结果:A、该设立新的界限...

    行内元素与块级元素,以及区别_行内元素和块级元素有什么区别?

    行内元素与块级元素首先,CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,分别为块级(block)、行内(inline)。块级元素:(以下列举比较常...

    让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华
    让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华

    去年的两会期间,习近平总书记在参加人大会议四川代表团审议时,对治蜀兴川提出了明确要求,指明了前行方向,并带来了“祝四川人民的生活越来越安逸”的美好祝福。又是一年...

    2025-02-21 16:00 yuyutoo

    今年国家综合性消防救援队伍计划招录消防员15000名

    记者24日从应急管理部获悉,国家综合性消防救援队伍2023年消防员招录工作已正式启动。今年共计划招录消防员15000名,其中高校应届毕业生5000名、退役士兵5000名、社会青年5000名。本次招录的...

    一起盘点最新 Chrome v133 的5大主流特性 ?

    1.CSS的高级attr()方法CSSattr()函数是CSSLevel5中用于检索DOM元素的属性值并将其用于CSS属性值,类似于var()函数替换自定义属性值的方式。...

    竞走团体世锦赛5月太仓举行 世界冠军杨家玉担任形象大使

    style="text-align:center;"data-mce-style="text-align:...

    学物理能做什么?_学物理能做什么 卢昌海

    作者:曹则贤中国科学院物理研究所原标题:《物理学:ASourceofPowerforMan》在2006年中央电视台《对话》栏目的某期节目中,主持人问过我一个的问题:“学物理的人,如果日后不...

    你不知道的关于这只眯眼兔的6个小秘密
    你不知道的关于这只眯眼兔的6个小秘密

    在你们忙着给熊本君做表情包的时候,要知道,最先在网络上引起轰动的可是这只脸上只有两条缝的兔子——兔斯基。今年,它更是迎来了自己的10岁生日。①关于德艺双馨“老艺...

    2025-02-21 16:00 yuyutoo

    取消回复欢迎 发表评论: