使用VBA在单元格中添加一天

Tha*_*had 4 excel vba

我有一个宏设置,可以清除电子表格中的内容.在此宏的末尾,我想选择已包含日期的特定单元格,然后将当前日期替换为当前日期+1.在搜索网页后,我找到了DateAdd功能,但我对VBA很新,我在编写正确的功能时遇到了困难.选择必要的单元格后,如何将日期更改为第二天?

Jea*_*ett 7

从字面上看你的问题,你可以这样做:

' Here goes the code where you select the date cells you want to increment
' ...
' Now increment them by 1 day:
Dim cell As Range
For Each cell In Selection
    cell.Value = cell.Value + 1 ' adds 1 day
Next cell
Run Code Online (Sandbox Code Playgroud)

Date数据类型的单位是一天.所以添加1会增加一天.


Jus*_*elf 5

以下是如何使用 DateAdd 的示例:

Range("A1").value = DateAdd("d", 1, CDate(Range("A1")))
Run Code Online (Sandbox Code Playgroud)

当然,这假定有效日期在 A1 中。它将将该日期增加一天。

“d”表示我们增加了一天。以下是添加年、月等的其他时间间隔。

yyyy - 年

q - 季度

米 - 月

y - 一年中的第几天

d - 天

w - 工作日

ww - 周

h - 小时

n - 分钟

s - 第二

注意我使用 CDate。这只是将 range("a1") 的值转换为日期。如果无法将 A1 解析为日期,则会引发错误。

当然,你也可以用这个方法减去天数:

Range("A1").value = DateAdd("d", -3, CDate(Range("A1")))
Run Code Online (Sandbox Code Playgroud)

这将 A1 中的日期减去三天。


yos*_*bai 2

如果单元格 a1 中有日期并且想要增加一天,它应该像这样简单

range("a1").value = range("a1").value + 1