乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel中如何自动更新最后修改时间-excel自动更新时间,excel自动更新时间公式

excel中如何自动更新最后修改时间-excel自动更新时间,excel自动更新时间公式

作者:乔山办公网日期:

返回目录:excel表格制作


用VBA可以做到

右键工作表标签,选择查看代码

粘贴以下代码并保存

Private Sub Worksheet_Change(ByVal Target As Range)
'______说明↓___________________________________
'某列单元格发生变化
'若变化值不为e69da5e887aae799bee5baa6e997aee7ad94331空,对应列添加变化时间点日期时间
'若变化值为空,删除对应单元格数据
'示例为A列第2行发生变化,对应的B列添加或删除日期
'______说明↑___________________________________
Application.ScreenUpdating = False '关闭屏幕刷新
Dim cA, cB, startRG As String
Dim offsetc As Long
Dim rg As Range
'______设置参数↓_________________
cA = "A" '变化区域所在列
cB = "H" '日期生成列
startRG = "A2" '变化区域首单元格(防止改动表头触发事件)
'______设置参数↑_________________
offsetc = Columns(cB).Column - Columns(cA).Column
If Not Application.Intersect(Target, Columns(cA), Range(startRG, ActiveCell.SpecialCells(xlLastCell))) Is Nothing Then
    For Each rg In Intersect(Target, Columns(cA), Range(startRG, ActiveCell.SpecialCells(xlLastCell)))
        If rg <> "" Then
            With rg.Offset(0, offsetc)
                .Value = Now
                .NumberFormatLocal = "yyyy/m/d h:mm:ss;@"
            End With
        Else
            rg.Offset(0, offsetc).Clear
        End If
    Next rg
End If
Application.ScreenUpdating = True '恢复屏幕刷新
End Sub

然后将工作簿另存为启用宏的工作簿(xlsm格式)




操作如下:

1、以下表为例,在时间一列填入公式以满足问题条件

2、首先打开菜单栏,点击选项

3、点击公式→计算选项,勾选“启用迭代计算”,“最多迭代次数”填1

4、在E2单元格输入公式“=IF(B2="","",IF(e2="",TEXT(IF(e2>0,NOW(),""),"y:d:h:m"),e2))”,按回

5、下拉填充公式

6、公式生效,在前面的单元格输入数据,时间列就会显示输入的日期时间

7、前面的数据修改,后面的日期不会再进行自动更新




假设在b列记录A列记录数据的时间:
=IF(ISBLANK(A1),"",IF(B1="",NOW(),B1))
注意:需要在“选项”中勾选“启用迭代计算”,且b列单元格格式设置为“时间”格式。

===================================

工具---宏---visual basic 编辑器---视图--代码窗口--- 粘贴入 下列文字 按 保存 按钮(其中 ?? 可修改为你的名字)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
Target.AddComment
Target.Comment.Text Text:="??:" & Chr(10) & Date & " " & Time
End If
End Sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网