|
楼主 |
发表于 2009-5-21 09:04
|
显示全部楼层
第9部分 函数的使用
技巧156 获得当月的最后一天
在实际工作中经常需要根据给定的日期计算其所属月份的最后一天,此时可以使用DateSerial函数完成计算,如下面的代码所示。- #001 Sub Serial()
- #002 Dim DateStr As Byte
- #003 DateStr = Day(DateSerial(Year(Date), Month(Date) + 1, 0))
- #004 MsgBox "本月的最后一天是" & Month(Date) & "月" & DateStr & "号"
- #005 End Sub
复制代码 代码解析:
Serial过程配合使用了4个VBA内置函数Year、Month、Day和DateSerial完成计算并使用消息框显示当月最后一天的日期。
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之间。但是,当一个数值表达式表示某日之前或其后的年、月、日数时,也可以为每个使用这个数值表达式的参数指定相对日期。当任何一个参数的取值超出可接受的范围时,它会自动地在可接受的时间单位进行调整,例如本例中的day参数设置为0,则被解释成month参数指定月的前一天,即表达式Month(Date) + 1指定的下一个月的前一天,也就是本月的最后一天。
运行Serial过程结果如图所示。
|
评分
-
1
查看全部评分
-
|