首页 > Excel专区 > Excel函数 >

excel 自动更新日期的两种情况,分别使用TODAY、NOW函数和VBA代码实现

Excel函数 2023-01-08

excel自动更新日期的方法很简单,使用TODAY 函数就可以做到。

  比如,下图A1单元格输入公式:=TODAY(),回车,就可以出现当前系统日期。这个日期会随时间不同,而自动更新日期。比如明天打开工作表日期就会是明天的日期,以此类推。

  excel自动更新日期还有一个相关函数,就是NOW函数,是返回当前日期和时间的序列号。

excel自动更新日期

  上图所示的A1单元格公式为:=TODAY(),B1单元格的公式为:=NOW()。

  这两个函数都可以实现excel自动更新日期。

  延伸一下,比如A1单元格永远显示当前系统相对的昨天的日期,可以使用公式:=today()-1,明天就加一天=today()+1。

  上面介绍的excel自动更新日期,每次打开文件,该单元格的内容就会自动改成当前日期。如果是需要根据某个单元格发生变化而改变日期,可以使用VBA代码实现。

  如下图的效果,我们在B列输入内容,然后A列才自动更新日期,而且这个日期只是当时输入的时候的日期,当工作薄再次打开,这个日期是固定不变的。

自动更新日期

  操作方法:在当前工作表标签,右键,选择“查看代码”,打开VBE编辑器,复制下面的代码,关闭VBE,回到excel工作表B列输入内容,A列就会自动更新日期。

Private Sub Worksheet_Change(ByVal Target As Range)
For Each c In Target.Cells '如果用填充等同时改变了多个单元格,则一个个的进行判断
With c
If .Column = 2 Then '判断被改变的单元格是否在B列
Application.EnableEvents = False
.Offset(0, -1) = Date '如果在B列,则在同行的A列填充当前系统日期
Application.EnableEvents = True
End If
End With
Next
End Sub

  上面的代码解释:

  If .Column = 2 表示第二列的任意个单元格发生变化,如果你是第三个单元格,则改成 If .Column = 3,以此类推。

  .Offset(0, -1) = Date  offset表示偏移,比如.Offset(0, -1)表示同行左边一列 .Offset(0,2)表示同行右边数2列 ,.Offset(1,2)表示下面一行,右边数2列,=date表示将这个单元格改成当前的日期。


Copyright © 2016-2023 office学习教程网 office.tqzw.net.cn. All Rights Reserved.