sqlserver获取前一天的日期_VBA代码解决方案第52讲:利用VBA代码,如何获得当月的最后一天日期...

本文介绍了如何使用VBA代码获取当月最后一天的日期,通过DateSerial函数结合Year、Month和Day等函数,详细解析了代码实现逻辑,并提供了代码示例进行演示。
摘要由CSDN通过智能技术生成

47977682257b418b48c9701d8be5d821.png

大家好,我们今日继续讲解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)) 表示当前月的下个月的前一天。

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

2ee4b1fde5d96ba3e40154d8e1cb1d5b.png

看运行后返回的值:

fd8870d904ad4a6ed748306e2ab6659d.png

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

23057cfbeee0f6e880367daec516fbca.png

今日内容回向:

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

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

欢迎大家到我的自媒体平台沟通交流:个人微信号“NZ9668”、头条号“VBA专家”、百家号“VBA与GO语言”、微信公众号“NZ_9668”、社群“VBA学习交流群”。

这一系列文章是根据我多年的工作经验编写的,也是一直在利用的工具,非常方便好用。现在分享出来,希望能对同样在职场打拼的朋友有些许的帮助,使你的工作更加高效、流畅。朋友们有问题请随时提出来,我们一起探讨学习。对数据分析有需要的公司、组织或个人可以直接联系我,及时为你提供专业的定制技术支持。

工作不是一切。工作是每个人安身立命、成长发展的基础。但你要知道工作是永远也做不完的,时间会抹去很多问题。多关注自己、家人和朋友,这些才是我们生活中更为重要的东西。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值