如何在Excel中使用VBA的DateAdd函数

  • Share This
Hugh West

ǞǞǞ VBA的DateAdd函数 是在Excel的日期和时间类别下的 VBA函数 通过使用这个函数,我们可以从一个给定的日期中添加或减去年、月、日、季度,甚至不同的时间间隔,如小时、分钟、秒。 在生成报告或进行比较的日常计算中处理日期和时间是一种常见的情况。 在Excel中,使用VBA日期和时间函数,如DateAdd函数,使复杂或费时的计算更有效和更快。

下载实践工作手册

下载这本练习手册,在阅读本文时进行练习。

VBA日期添加功能.xlsm

Excel VBA的DateAdd函数简介

结果。

一个日期,在此基础上加上或减去一个特定的时间区间

语法。

日期添加 (区间、数字、日期)

争论。

争论 必备/可选 描述
间隔 需要 A 绳子 表达方式。

在不同的设置中,我们要添加的时间间隔 需要 A 数字 表情 .

ǞǞǞ 间隔 要加要减

可以是 积极的 - 为 未来 枣庄

可以是 负面的 - 为 过去 枣庄 日期 需要 A 日期 表情

ǞǞǞ 日期 的人。 间隔 额外的

设置。

ǞǞǞ 日期添加功能 有这些 间隔设置。

设置 描述
yyyy
q 季度
m 月份
y 日的年份
d
w 平日里
ww
h 一小时
n 分钟
s 第二次

Excel VBA DateAdd函数的例子

Excel DateAdd函数的公式表达式

有不同的方法可以把 日期 争论 进入 DateAdd函数。 它们都会产生相同的输出。

将以下内容 编码 Visual Basic编辑器。

(如何在Visual Basic编辑器中运行代码)

 Sub add_year() Range("D3") = DateAdd("yyyy", 2, #1/1/2022#) Range("D4") = DateAdd("yyyy", 2, DateSerial(2022, 1, 1)) Range("D5") = DateAdd("yyyy", 2, DateValue("Jan 1, 2022") Range("D6") = DateAdd("yyyy", 2, Range("B6") ) End Sub 

解释 :

DateAdd("yyyy",2, 以下方法之一)

为了放上日期参数,我们可以使用不同的方法。

  • #1/1/2011#
  • DateSerial( , 月,日)
  • 日期值( 日期 )
  • 范围 ("cell") - 存储在一个单元格中的日期
  • 将日期存储在一个变量中

在细胞中 D3, D4, D5, D6, D7 我们把上述方法作为 日期 的论点。 日期添加 函数的顺序,并得到了 同样的结果。

我们添加了 2 更多 1/1/2022 这导致了 1/1/2024.

在这里。

yyyy 代表年份为 间隔

2 代表间隔的数量为 .

帮助:如何在Visual Basic编辑器中运行代码

按照步骤进行。

  • Excel功能区 ,请到 开发者标签 并选择 视觉基础 表。

  • 在新窗口中,点击 插入 选项卡,并选择 模块。

  • 写下你的 编码 在编辑器中,按 F5 运行。

在Excel中使用DateAdd函数添加不同的间隔设置

1. 添加年份

代码。

 Sub DateAdd_Years() Range("F5") = DateAdd("yyyy", 2, Range("D5") ) End Sub 

结果:2年 添加到 1/1/2022 (mm/dd/yyyy),结果是 1/1/2024 (mm//dd/yyyy)。

阅读更多。 如何在Excel VBA中使用年份函数

2. 添加季度

代码。

 Sub DateAdd_Quarter() Range ("F5") = DateAdd("q", 2, Range("D5")) End Sub 

结果:2个季度=6个月 添加到 1/1/2022 (mm/dd/yyyy),结果是 7/1/2022 (mm//dd/yyyy)。

3. 添加月份

代码。

 Sub DateAdd_Months() Range("F5") = DateAdd("m", 2, Range("D5") ) End Sub 

结果:2个月 添加到 1/1/2022 (mm/dd/yyyy),结果是 3/1/2022 (mm//dd/yyyy)。

阅读更多。 如何使用Excel VBA的MONTH函数

4. 添加年月日

代码。

 Sub DateAdd_DayOfYear() Range("F5") = DateAdd("y", 2, Range("D5") ) End Sub 

搜索结果 : 2年日添加 1/1/2022 (mm/dd/yyyy),结果是 1/3/2022 (mm//dd/yyyy)。

阅读更多。 如何在Excel VBA中使用日函数

5. 添加日

代码。

 Sub DateAdd_Day() Range("F5") = DateAdd("d", 2, Range("D5") ) End Sub 

结果:增加2天 1/1/2022 (mm/dd/yyyy),结果是 1/3/2022 (mm//dd/yyyy)。

类似读物

  • Excel VBA查找周数(6个快速实例)
  • 如何在Excel中使用VBA的DatePart函数(7个例子)
  • 在Excel中使用VBA的DateSerial函数(5个简单的应用)
  • 如何使用VBA从字符串转换日期(7种方法)

6. 添加工作日

代码。

 Sub DateAdd_WeekDay() Range("F5") = DateAdd("w", 10, Range("D5") ) End Sub 

结果:增加了10个星期日 1/1/2022 (mm/dd/yyyy),结果是 1/11/2022 (mm//dd/yyyy)。

7. 添加周数

代码。

 Sub DateAdd_Weeks() Range("F5") = DateAdd("ww", 2, Range("D5") ) End Sub 

结果:2周=增加14天 1/1/2022 (mm/dd/yyyy),结果是 1/15/2022 (mm//dd/yyyy)。

阅读更多。 如何使用VBA获得星期的日期

8. 添加小时

代码。

 Sub DateAdd_Hours() Range("F5") = DateAdd("h", 14, Range("D5") ) End Sub 

结果:增加14小时 2022年1月1日上午12:00 (mm/dd/yyyy: hh/mm),结果是 2022年1月1日下午2:00 (mm//dd/yyyy : hh/mm)。

9. 添加分钟数

代码。

 Sub DateAdd_Minutes() Range("F5") = DateAdd("n", 90, Range("D5") ) End Sub 

结果:90分钟=增加1.30小时 2022年1月1日上午12:00 (mm/dd/yyyy),结果是 2022年1月1日上午1:30 (mm//dd/yyyy)。

10. 添加第二个

代码。

 Sub DateAdd_Seconds() Range("F5") = DateAdd("s", 120, Range("D5") ) End Sub 

结果:120秒=增加2分钟 2022年1月1日上午12:00 (mm/dd/yyyy : hh/mm),结果是 1/1/2022 12:02 am (mm//dd/yyyy : hh/mm)。

在Excel中使用DateAdd函数来减去不同的时间间隔设置

同样地,我们可以 减去 通过使用 "日期",可以将年、月、日、小时、分钟等信息从一个日期中删除。 负号 前面 的。 数字参数 比如说。

代码。

 Sub DateAdd_Subtract_Years() Range("F5") = DateAdd("y", -2, Range("D5") ) End Sub 

结果:2年 减去 1/1/2022 (mm/dd/yyyy),结果是 1/1/2020 (mm//dd/yyyy)。

需要记住的事情

  • 当我们使用 'w' 以增加 平日 加起来 一周所有的日子 包括周六和周日,而不是只有工作日(有人可能会想到)。
  • DateAdd函数最后并没有显示一个 无效日期 例如,如果我们在2022年1月31日增加1个月,结果是2022年2月28日,而不是2022年2月31日(它并不存在)。
  • 如果我们从现在开始减去122年以上的时间,那么,一个 错误 会发生,因为Excel的日期 开始 1990年1月1日。
  • DateAdd函数的返回日期取决于 控制面板日期设置。
  • 我们应该根据DateAdd函数的日期参数。 日历属性 如果日历是 格里高利语 ,输入da 争论 也应在 格里高利语 同样地,如果日历是回历,日期参数必须是相同的格式。

总结

现在,我们知道了如何在Excel中使用VBA的DateAdd函数。 希望它能鼓励你更自信地使用这一功能。 有任何问题或建议,不要忘记把它们放在下面的评论框中

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.