设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1967|回复: 0

[VBA] 在Excel中输入数据时自动加入一个时间戳

[复制链接]

35

主题

369

金钱

516

积分

初级用户

发表于 2019-7-1 15:59:30 | 显示全部楼层 |阅读模式

当我们在Excel中输入或更新数据时,有时需要自动添加一个时间戳,表示当前数据的最新更新时间。如下图所示,当在C列更新数据时,在D列自动加入更新时的时间。
1.jpg
可以用VBA代码来实现,实现步骤如下:

      按Alt+F11,打开VBA编辑器。在“工程”窗口中双击“ThisWorkBook”,在右侧的代码窗口中粘贴下列代码:

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
      If ActiveSheet.Name <> "Sheet1" Then Exit Sub
      If Target.Column = 3 Then Target.Offset(0, 1) = Now
    End Sub
    这样,当“Sheet1”表C列单元格中的内容发生改变时,Excel会自动在D列同一行中的单元格中添加时间。
    如果要将目标区域指定为C2:C20,可以用下面的代码:
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
      If ActiveSheet.Name <> "Sheet1" Then Exit Sub
      With Target
        If .Column = 3 And .Row > 1 And .Row < 21 Then .Offset(0, 1) = Now
      End With
    End Sub

      需要注意的是,当目标区域中的任意单元格内容发生改变,包括删除或更新数据时,都将触发Worksheet.SelectionChange 事件。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表