【问题标题】:Add one day to date in cells using VBA使用 VBA 在单元格中添加一天
【发布时间】:2022-01-09 23:42:03
【问题描述】:

我设置了一个宏,可以清除电子表格上的内容。在这个宏的末尾,我想选择已经有日期的特定单元格,然后用当前日期 +1 替换当前日期。在网上搜索后,我找到了 DateAdd 函数,但我对 VBA 很陌生,我很难正确编写函数。选择必要的单元格后,我将如何将日期更改为第二天?

【问题讨论】:

    标签: excel vba


    【解决方案1】:

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

    ' 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
    

    Date 数据类型的单位是天。所以加 1 加 1 天。

    【讨论】:

      【解决方案2】:

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

      Range("A1").value = DateAdd("d", 1, CDate(Range("A1")))
      

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

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

      yyyy - 年

      q - 季度

      m - 月

      y - 一年中的哪一天

      d - 天

      w - 工作日

      ww - 周

      h - 小时

      n - 分钟

      s - 秒

      请注意,我使用的是 CDate。这只是将 range("a1") 的值转换为日期。如果不能将 A1 解析为日期,则会抛出错误。

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

      Range("A1").value = DateAdd("d", -3, CDate(Range("A1")))
      

      A1 中的日期减去三天。

      【讨论】:

        【解决方案3】:

        如果你在单元格 a1 中有日期并且想要增加一天,它应该很简单

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-17
          • 2014-12-01
          • 2014-08-23
          • 2015-02-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多