前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >问与答70: 如何记录指定单元格每次修改的时间?

问与答70: 如何记录指定单元格每次修改的时间?

作者头像
fanjy
发布2019-11-11 15:59:03
1.5K0
发布2019-11-11 15:59:03
举报
文章被收录于专栏:完美Excel完美Excel

Q:我想要在用户修改工作表指定单元格的内容时,在另一工作表中记录修改的时间。例如,在工作表Sheet1的单元格B2中,每次用户将该单元格值修改为某一大于0的数值时,则在工作表LogB2中记录下其修改的时间。

具体地说,如果在2019年10月24日19时30分30秒,用户将单元格B2中的值修改为280,那么在工作表LogB2中记录下时间2019-10-24 19:30:30;如果在2019年10月25日8时10分15秒又将单元格B2中的值修改为100,那么工作表LogB2中增加一条时间记录2019-10-25 8:10:15。

A:这可以使用工作表事件来完成。

打开VBE,双击工作表Sheet1对象模块,输入代码:

代码语言:javascript
复制
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngInput As Range
    Dim rngLog As Range
 
    '要记录其修改时间的单元格
    Set rngInput = Range("B2")
   
    '确定单元格是目标单元格
    If Intersect(rngInput, Target.Cells(1, 1)) Is Nothing Then Exit Sub
 
    '修改为小于0的值不记录
    If rngInput.Value <= 0 Then Exit Sub
 
    '将修改单元格时的时间记录到工作表LogB2
    With Worksheets("LogB2")
        '工作表最后一行
        Set rngLog = .Cells(.Rows.Count,1).End(xlUp)
       
        '确定工作表最后一行单元格含有值
        If Len(rngLog.Value) > 0 Then
            '移至下方相邻的空单元格
            Set rngLog = rngLog.Offset(1, 0)
        End If
    End With
   
    '写入当前时间
    rngLog.Value = Now
End Sub

Q:我想增加记录另一个单元格的修改时间,例如单元格D2每次修改的值大于0时,将修改的时间记录到工作表LogD2中,如何编写代码?

A:同样使用工作表事件来完成。

打开VBE,双击工作表Sheet1对象模块,输入代码:

代码语言:javascript
复制
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngLog As Range
    Dim wksLog As Worksheet
   
    '根据所修改的单元格
    '赋值相应的工作表
    Select Case Target.Cells(1, 1).Address
        Case "$B$2"
            Set wksLog =Worksheets("LogB2")
        Case "$D$2"
            Set wksLog =Worksheets("LogD2")
        Case Else
            Exit Sub
    End Select
 
    '如果修改的值小于0则不记录修改时间
    If Target.Cells(1, 1).Value <= 0 ThenExit Sub
 
    With wksLog
        '工作表数据所在的最后一行
        Set rngLog = .Cells(.Rows.Count, 1).End(xlUp)
       
        '如果最后一个数据单元格包含值
        If Len(rngLog.Value) > 0 Then
            '偏移到下方相邻单元格
            Set rngLog = rngLog.Offset(1, 0)
        End If
    End With
   
    '写入当前时间
    rngLog.Value = Now
End Sub
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档