如何设置系统日期,一行VBA编程代码教你学会
No.1
VBA编程中,获取日期是一个简单的功能,同样对日期进行增减计算处理也是个容易的操作。
本节我们来了解一下关于计算机系统日期的一些操作。
DateAdd函数
如上图所示,DateAdd是一个函数名。
可以简单理解为日期相加。
也就是说根据某个日期进行增加或减少某个数值之后返回一个日期。
这样,就得到了一个新的日期值。
比如,要以当前日期为基准,退后3天,那么就是在当前日期增加3天。
代码如下:
DateAdd('d',3,Date)
DateAdd函数详细语法和参数,如下图所示:
No.2
DateAdd函数语法:
DateAdd(interval, number, date)
其中参数inerval限定了相加的类型,如以天为单位相加参数'd',月为单位相加参数为'm',可参考上图进行设置。
number是一个数值,也就是时间间隔多少值,这个参数可以为正值,也可以负值,但必须是个整数long。
当然此参数还有一些规定,如果计算的日期位于年份数 100 前,也就是说减去年份数之后的结果必须大于等于100,否则会出现错误。
如:
Dim NextDate As DateNextDate = DateAdd('yyyy', -1921, '2021-2-15')MsgBox NextDate'返回'100/2/15'
-1921就是可以减去的最多年份,如果改成小于等于-1922则报错。
也就是说不能得到小100的年份,至于是什么原因造成这个结果?恐怕只有微软知道。
No.3
Date函数
这个函数还是有一定意义的,比如设置某个年份为基准,向后推移2年。直接在这个年份之上加2就可以了。
那么还有一个特别重要的日期函数,要掌握。
那就是Date函数。
此函数没有参数,直接返回当前系统日期。
可使用如下代码:
Msgbox Date'输出当前日期
No.4
Date语句
重点:Date函数和Date语句是两个概念。
函数用于取日期,语句用于设置日期。
一个是获取Get,一个是设置Set。
理解清楚之后,就可以使用不同的Date函数和语句进行不同的代码表达。
如果,想要设置当前系统日期为2020年12月25日。
可以使用如下语句:
Date='2020-12-25'
使用方法很简单,问题在于要对概念进行正确理解。
No.5
设置系统日期
Private Sub SetDate()Dim NowDate As DateNowDate = Application.InputBox('设置日期', '输入日期', VBA.Format(Date, 'yyyy-mm-dd'))If Not IsDate(NowDate) Then Exit SubDate = NowDateEnd Sub
查看当前日期后3年的日期
Private Sub GetYear()Dim NextDate As DateNextDate = DateAdd('yyyy', 3, Date)MsgBox NextDateEnd Sub
查看当前日期3天前的日期
Private Sub GetUpDate()Dim NextDate As DateNextDate = DateAdd('d', -3, Date)MsgBox NextDateEnd Sub
日期功能函数和语句是个简单的功能,但也是一个很重要的函数,必要掌握的一个知识。
所以,特别拿来整理学习一下。