calender获取本月最后一天的日期_想知道每月最后一天是什么日期吗?没问题!VBA代码给你解决...

大家好,我们今日继续讲解VBA代码解决方案的第52讲内容,这讲的内容是利用VBA代码,如何获得当月的最后一天日期.在实际工作中经常需要根据给定的日期计算其所属月份的最后一天,此时怎么计算呢?

我们首先要讲解一下VBA中涉及到日期的知识点:

一:Year、Month和Day函数:这三个函数分别返回代表指定日期的年、月、日的整数,语法如下:Year(Date) Month(Date) Day(Date)

其中参数Date可以是任何能够表示日期的Variant、数值表达式、字符串表达式或它们的组合。

二:DateSerial函数:此函数返回包含指定的年、月、日的Variant (Date),语法如下:

DateSerial(year, month, day)

其中参数year、 month、day分别表示指定的年、月、日。

为了指定某个日期, DateSerial 函数中的每个参数的取值范围应该是可接受的,即日的取值范围应在1-31之间,而月的取值范围应在1-12之间。但是,当一个数值表达式表示某日之前或其后的年、月、日数时,也可以为每个使用这个数值表达式的参数指定相对日期。

本节要讲解的就是利用DateSerial函数求具体某具体月的最后一天的方法,其实,对于DateSerial函数而言,当任何一个参数的取值超出可接受的范围时,它会自动地在可接受的时间单位进行调整,本例中将day参数设置为0,这时被解释成month参数指定月的前一天,即表达式Month(Date) + 1指定的下一个月的前一天,也就是本月的最后一天。

思路有了,下面看我们的代码所示。

Sub MySerial()

Dim MyDateStr As Byte

MyDateStr = Day(DateSerial(Year(Date), Month(Date) + 1, 0))

MsgBox "本月的最后一天是" & Month(Date) & "月" & MyDateStr & "号"

End Sub

代码解析:

上述的MySerial过程配合使用了4个VBA内置函数Year、Month、Day和DateSerial完成计算并使用消息框显示当月最后一天的日期。

a) 上面的Date为当前的具体日期。

b) Month(Date) + 1 表示当前月的下个月。

c) MyDateStr = Day(DateSerial(Year(Date), Month(Date) + 1, 0)) 表示当前月的下个月的前一天。

代码实测,首先看代码窗口:

a74a014615aa0f47aa45ead9c3880df6.png

看运行后返回的值:

3d5b8f17e2ac380a98243f0d0c5a3abe.png

为了看到Date值我们可以做如下截图的操作:当光标点到Date上是就会出现下面的提示:

7bd5316b4a102dd15a3551d205c1bd2c.png

今日内容回向:

1 利用VBA代码获得当前月的最后一天,思路是如何建立的?

2 如何获取某个变量的即时值?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值