Excel VBA之日期篇 4.2重要日程提醒 让你不再手忙脚乱
前景提要
昨天和大家分享了计算日期之间的差距的方法,相信能够在一定的程度上帮助广大HR工作者在时间计算上面的问题,今天我们继续前进,日期之间的差距等于使用的是日期之间的减法,那么有减法自然会有加法了,今天我们就来说说日期之间的加法,日期之间的加法又是什么呢?
比方说3天之后你要准备一个重要的事情要做,或者是重要的会议,或者是一次浪漫的巴黎旅行,或者和伴侣的一次重要约会,这些都是需要提前做好准备的事情,但是你平时工作比较忙,你可能就会忘记要准备这些事情,到真正要去开会,旅行的时候,你就会手忙脚乱的,毫无头绪,今天就和大家分享一个简易的excel事件提醒功能,这样就可以提前通知你做好准备,从而不再手忙脚乱了,那么三天之后的日期怎么算呢,你现在肯定能够算出来,因为很简单,如果我拉长时间,13,16你就不一定那么好算, 就算你算得出来,肯定到时候你也忘记了。
场景说明
说到提醒功能,很多的人都会想到各种各样的手机APP软件,这些软件虽然功能很强大,但是手机并不是日常工作中的必需品,你不可能在手机上处理数据,处理表格,处理作图,而excel又是我们日常工作中常用的软件,所以如果可以在excel中实现提醒的功能的话,效果绝对是更加的完美,我们一起来看看如何实现这个excel事件提醒功能吧
我们假设3天之后,公司要组织去法国巴黎旅游,出国旅游的话,可能要准备很多的东西,诸如护照,外币等东西,如果不提前准备的话,去到外国就比较的麻烦,所以我们制作一个excel的提醒功能,让excel提前1天提醒我们要准备东西。
代码如下:
Private Sub Workbook_Open()
Dim Todayd
Todayd = DateAdd("d", -2, Now())
TargetD = DateAdd("d", 2, Todayd)
If Format(TargetD, "yyyy/m/d") = #4/16/2019# Then
MsgBox "要记得准备去巴黎旅行的东西啊!"
End If
End Sub
代码解析
今天的代码的起手式和之前的代码有一些不同,因为我们今天想要实现的效果应该是在我们打开一个常用的工作薄的时候,就会提醒我们,想要实现工作薄一打开就提醒的功能,需要在工作薄的打开事件中来实现,不过工作薄的事件我们还没有分享过,所以今天暂时先不细说这个部分,我们只需要记住这段代码应该写在那里,写在哪里呢?看下面的图
写在其他的地方是没有这样的效果的,然后我们来解析下代码
今天我们要学的一个新知识就是dateadd这个方法,它的主要的作用就是帮助我们进行日期的加法计算的,比方说我想要得到2天之前的日期,
Todayd = DateAdd("d", -2, Now())
反之如果我想要得到2天之后的日期呢
TargetD = DateAdd("d", 2, Todayd)
都很简单,DateAdd他需要提供三个参数,第一个参数就是时间的单位,年月日周这样的,在上节课我们已经分享了相关的常用写法,这里就不讲述了,然后第二参数就是number类型,数字,你想要得到时间的加法,那就是正数,想要得到时间的减法,那就是负数,最后一个参数就是日期,即计算的日期
因为我们想要构造的是日期为今天的日期就提醒我们,为了展示的方便,所以我们假设开始时间是两天前,两天前的日期如何求,上面已经写了,然后两天的前的日期加上2,就是今天的日期,得到了今天的日期之后,就可以提醒了,但是这里为了能够让大家清楚的知道时间的准确,我们这里在增加一个判断,得到了最终的时间日期之后,我们做一个判断,判断下是不是今天的日期。
If Format(TargetD, "yyyy/m/d") = Then
如果是今天的日期,就可以弹窗提示我们,应该要准备去巴黎旅行的东西了。
这里可能有童鞋要问format这段话的意思了,在之前函数篇我们已经分享过了,就是转化日期格式的方法,这也验证了小编之前说的,所有的程序都是由一个个的函数打造出来的,大家一定要好好学习函数篇的内容,实在忘记了可以翻下之前的文章。
我们来一起调试下,这样大家能够更清楚效果
这里为了演示的方便,我将所有的时间都输入了,这样大家能够看到更加清楚。最终效果就是当达到了设定的日期之后,就会弹窗提醒我们应该做什么事情了。