Excel如何让日期单元格随着某个单元格的修改而自动更新

您所在的位置:网站首页 如何设置表格自动更新时间 Excel如何让日期单元格随着某个单元格的修改而自动更新

Excel如何让日期单元格随着某个单元格的修改而自动更新

2024-07-16 16:19| 来源: 网络整理| 查看: 265

前几天,我在做一个报价底价的Excel文件,由于旅游行业的报价很特殊,比如宾馆的底价经常会发生变化,所以我在底价的excel文件中增加了一列:最后修改时间。这样报价的时候就可以根据最后的更新时间来判断当前的底价是否准确。

考虑到excel应该支持VB脚本,所以我就在网上搜索或者向朋友咨询excel能否有这样一个功能:当某个单元格的内容发生变化的时候,同行的日期单元格是否可以自动更新为当前日期。然而很失望的是,无论是网络搜索到的结果还是推特上朋友回答的结果多是直接显示当前日期(在单元格输入=now(),此后每次打开文件,该单元格的内容就会自动改成当前日期),而不是根据某个单元格发生变化而改变日期,当然建议我用VBA的朋友除外。

今天,我继续搜索和摸索,总算是找出了相应的解决方案了,方法如下:

右击sheet1标签>查看代码>粘贴下面的代码 来源:http://club.excelhome.net/viewthread.php?tid=439225

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

上面的代码其实很容易看懂,不过我也还是给解释一下

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

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

华丽的解决了这个问题。

 

转自:http://www.chengzhang.info/node/125



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3