我有一个宏设置,可以清除电子表格中的内容。在此宏的末尾,我想选择已包含日期的特定单元格,然后将当前日期替换为当前日期+1。在搜索网页后,我找到了DateAdd功能,但我对VBA很新,我在编写正确的功能时遇到了困难。选择必要的单元格后,如何将日期更改为第二天?
答案 0 :(得分:5)
从字面上理解你的问题,你可以这样做:
' 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
日期数据类型的单位是一天。所以添加1会增加一天。
答案 1 :(得分:3)
以下是如何使用DateAdd的示例:
Range("A1").value = DateAdd("d", 1, CDate(Range("A1")))
当然,这假设有效日期在A1。它会将该日期增加一天。
“d”表示我们正在添加一天。以下是添加年,月等的其他间隔。
q - 季度
m - 月
y - 一年中的某一天
d - Day
w - 工作日
h - 小时
n - 分钟
s - 秒
注意我使用CDate。这只是将范围(“a1”)的值转换为日期。如果A1无法解析为日期,则会抛出错误。
当然,您也可以使用此方法减去天数:
Range("A1").value = DateAdd("d", -3, CDate(Range("A1")))
这减去了A1中日期的三天。
答案 2 :(得分:1)
如果您在单元格a1中有日期并希望增加一天,那么它应该像
一样简单 range("a1").value = range("a1").value + 1