Excel-VBA 快速上手(十三、日期的常见用法)

本文详细介绍了VBA中日期时间操作的各个方面,包括获取系统时间、精细提取时间组件、格式化日期、日期差计算、加减运算,以及时间序列化。通过实例展示了如何在VBA中进行日期处理,是VBA开发者必备的时间管理技巧。
摘要由CSDN通过智能技术生成

1. 获取系统时间


常见的三个获取系统时间的方式:

  1. Date 获取当前系统时间的年月日
  2. Time 获取当前系统时间的时分秒
  3. Now 获取当前系统时间的年月日和时分秒
Public Sub main()
  Debug.Print Date '结果:2022/7/27
  Debug.Print Time '结果:15:00:25
  Debug.Print Now '结果:2022/7/27 15:00:25
End Sub

2. 更细力度的提取时间


  1. 从日期中提取年 Year(时间)
  2. 从日期中提取月 Month(时间)
  3. 从日期中提取日 Day(时间)
  4. 从日期中提取时 Hour(时间)
  5. 从日期中提取分 VBA.Minute(时间)
  6. 从日期中提取秒 Second(时间)

Public Sub main()
  Debug.Print Year(Now) '结果:2022
  Debug.Print Month(Now) '结果:7
  Debug.Print Day(Now) '结果:27
  Debug.Print Hour(Now) '结果:15
  Debug.Print VBA.Minute(Now) '结果:4
  Debug.Print Second(Now) '结果:20
End Sub

3. 格式化显示日期


格式化日期显示的语法为:Format(时间, 格式),常见格式有:

格式描述
yyyy-mm-dd年月日
yyyy年mm月dd日中文年月日
yyyy年mm月dd日 h:mm:ss中文年月日时分秒
d-mmm-yy英文月份简写
d-mmmm-yy英文月份
aaaa中文星期
ddd英文星期简写
dddd英文星期

示例:

Public Sub main()
  Debug.Print Format(Now, "yyyy-mm-dd") '结果:2022-07-27
  Debug.Print Format(Now, "yyyy年mm月dd日") '结果:2022年07月27日
  Debug.Print Format(Now, "yyyy年mm月dd日 h:mm:ss") '结果:2022年07月27日 15:13:31
  Debug.Print Format(Now, "d-mmm-yy") '结果:27-Jul-22
  Debug.Print Format(Now, "d-mmmm-yy") '结果:27-July-22
  Debug.Print Format(Now, "aaaa") '结果:星期三
  Debug.Print Format(Now, "ddd") '结果:Wed
  Debug.Print Format(Now, "dddd") '结果:Wednesday
End Sub

3. 日期差计算


日期差计算语法为:DateDiff(时间单位, 时间, 比较的时间)

Public Sub main()
  Debug.Print DateDiff("d", "2022-07-27", "2022-07-28") '相差几天 结果:1
  Debug.Print DateDiff("m", "2022-07-28", "2022-08-28") '相差几月 结果:1
  Debug.Print DateDiff("yyyy", "2022-07-28", "2023-07-28") '相差几年 结果:1
  Debug.Print DateDiff("q", "2022-07-28", "2022-10-01") '相差几个季度 结果:1
  Debug.Print DateDiff("w", "2022-07-28", "2022-08-04") '相差几个七天 结果:1
  Debug.Print DateDiff("h", "2022-07-28 15:00", "2022-07-28 16:00") '相差几小时 结果:1
  Debug.Print DateDiff("n", "2022-07-28 15:01", "2022-07-28 15:02") '相差几分钟 结果:1
  Debug.Print DateDiff("s", "2022-07-28 15:01:00", "2022-07-28 15:01:01") '相差几秒钟 结果:1
End Sub

4. 日期加减


日期加减语法为:DateAdd(单位, 加减的时间, 时间),加减的时间为正数就是加,为负数就是减:

Public Sub main()
  Debug.Print VBA.DateAdd("d", 10, "2022/07/27 16:00:00") '加十天 结果:2022/8/6 16:00:00
  Debug.Print VBA.DateAdd("m", 10, "2022/07/27 16:00:00") '加十个月 结果:2023/5/27 16:00:00
  Debug.Print VBA.DateAdd("yyyy", 10, "2022/07/27 16:00:00")  '加十年 结果:2032/7/27 16:00:00
  Debug.Print VBA.DateAdd("yyyy", -10, "2022/07/27 16:00:00") '减十天 结果:2012/7/27 16:00:00
  Debug.Print VBA.DateAdd("h", 10, "2022/07/27 16:00:00") '加十小时 结果:2022/7/28 2:00:00
  Debug.Print VBA.DateAdd("n", 10, "2022/07/27 16:00:00") '加十分钟 结果:2022/7/27 16:10:00
  Debug.Print VBA.DateAdd("s", 10, "2022/07/27 16:00:00") '加十秒钟 结果:2022/7/27 16:00:10
End Sub

5. 时间序列化

Public Sub main()
  Debug.Print VBA.DateSerial(2022, 7, 27) '结果:2022/7/27
  Debug.Print VBA.TimeSerial(16, 1, 2) '结果:16:01:02
End Sub
  • 10
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: "excel-vba教程完全版.pdf"是一份非常详细的Excel VBA教程。它包含了许多实例和示例,解释了Excel VBA的基本概念和语法,以及如何使用VBA编写各种Excel宏。这份教程既适合初学者学习,也适合中级和高级用户作为快速参考手册使用。 该文档的存储位置是阿里云盘,这意味着你可以随时随地使用云盘进行访问。同样,这也意味着你可以下载该文档并将其保存到任何设备上,以便您在离线时仍然可以学习和参考。 无论你是需要学习Excel VBA来改进自己的工作,还是需要了解Excel VBA的基础知识作为一个数据处理或业务分析的工作要求,这个教程都非常优秀。如果你愿意花时间学习和实践,并跟随教程完成练习,你将成为一个熟练的Excel VBA程序员,能够编写更加复杂和高效的Excel宏。所以,这个教程是非常值得推荐的。 ### 回答2: excel-vba教程完全版.pdf是一本关于Excel VBA编程的教程,涵盖了许多内容,适合想要学习Excel VBA编程的初学者以及希望深入了解的进阶者。这本教程从基础概念开始,逐步深入,涵盖了VBA开发环境、数据类型、变量、运算符、控制结构、数组、函数等多个方面的内容。 此外,本教程还详细介绍了Excel VBA中常用的对象,如Workbook对象、Worksheet对象和Range对象等,以及它们的属性和方法的使用方式。同时,本教程还介绍了经典的Excel VBA编程技巧,如错误处理、调试技巧、宏录制等,让读者能够掌握高效、优化的编程方法。 总体来说,excel-vba教程完全版.pdf是一本较为全面的Excel VBA编程教程,对于Excel VBA编程感兴趣的人来说,是一本不可多得的学习资料。而作为阿里云盘上的一个资源,其存储空间也方便了用户在任何地方都可以随时下载和阅读,为Excel VBA编程爱好者提供了便利。 ### 回答3: excel-vba教程完全版.pdf是一份非常优秀的Excel VBA教程资源,非常适合希望学习如何使用Excel VBA编程的人。这份教程详细地介绍了VBA的各种基础和高级知识,包括如何使用VBA编写宏、创建用户界面以及使用各种对象、方法和属性等等。这份教程内容丰富、结构清晰、易于理解,对于初学者而言也非常友好。 在阿里云盘上获取这份教程也非常便捷和方便。用户只需要通过阿里云盘的下载链接即可下载教程文档,并可以在自己的电脑上进行阅读和学习。阿里云盘作为一种云存储服务,具有高速稳定、容量大等特点,因此不必担心下载速度和下载文件的稳定性问题。 总之,excel-vba教程完全版.pdf是一份非常优秀的VBA教程资源,对于想学习如何使用Excel VBA进行编程的人而言是一份极佳的教程材料。而且,通过阿里云盘可以轻松地获取这份教程资源,非常方便和实用。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值