excel自动更新日期的两种情况和方法

   2020-11-20 2210
核心提示:文章介绍excel自动更新日期的两种情况,分别使用TODAY、NOW函数和VBA代码实现。
内容提要:文章介绍excel自动更新日期的两种情况,分别使用TODAY、NOW函数和VBA代码实现。

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

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

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

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

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

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

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

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

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

PrivateSubWorksheet_Change(ByValTargetAsRange)
ForEachcInTarget.Cells'如果用填充等同时改变了多个单元格,则一个个的进行判断
Withc
If.Column=2Then'判断被改变的单元格是否在B列
Application.EnableEvents=False
.Offset(0,-1)=Date'如果在B列,则在同行的A列填充当前系统日期
Application.EnableEvents=True
EndIf
EndWith
Next
EndSub

上面的代码解释:

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

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

 
反对 0举报收藏 0评论 0
 
更多>同类办公
推荐图文
推荐办公
点击排行