记录单元格修改时间,求高手相助,紧急

瘦马 2011-08-27 11:06:06
有一个工作薄,有多个表,表1D列专用于记录某个表某单元格的最后修改时间。
如总表的B2记录 生产科 D5 单元格(应发合计)的最后时间
总表的B3记录 销售科 D5 单元格最后(应发合计)修改时间
总表的C2记录 生产科 E5单元格(扣款合计)的最后修改时间
总表的C3记录 销售科 E5单元格(扣款合计)的最后修改时间
总表的D2记录 生产科 F5单元格(实发合计)的最后修改时间
总表的D3记录 销售科 F5单元格(实发合计)的最后修改时间

有没有现成的函数。如果用VBA,如何写代码

求高手相助

样表地址http://www.exceltip.net/attachment.php?aid=44645&k=07b4f26c1b5aeaacdf2448df9fcd5d84&t=1314414205&fid=11&sid=d1fffZUfPZNthqdgWFya%2FdniF6M1GncVjf2NhINNLOAkNiU
样表是我编的,跟实际不同。实际有20多个表,每张表有10多个单元格需要监视修改时间
...全文
272 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
longzhu0623 2011-09-04
  • 打赏
  • 举报
回复
学习了,佩服3楼的,高手!
harmonyguy 2011-08-29
  • 打赏
  • 举报
回复
使用VBA
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Index <> 1 Then
If Target.Row >= 3 And Target.Row < 100 And _
Target.Column >= 4 And Target.Column <= 6 Then
Application.EnableEvents = False
Worksheets(1).Cells(Sh.Index, Target.Column - 2) = Now()
Application.EnableEvents = True
End If
End If
End Sub

测试一下,可行,不知是否满足你的要求。
附件:http://download.csdn.net/source/3557157
ACMAIN_CHM 2011-08-28
  • 打赏
  • 举报
回复
可以使用 MAX({})来得到。
龙湖金风 2011-08-28
  • 打赏
  • 举报
回复 1
我就举一个表的例子
将下列代码拷至“生产科”所在的sheet

Private Sub Worksheet_Change(ByVal Target As Range)
Set r1 = Range("D5")
If Application.Intersect(r1, Target) Is Nothing Then
Exit Sub
Else: Sheets("Sheet1").Cells(2, 2) = Time
End If
End Sub

记录的时间格式你根据需要自己改。

6,210

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office应用
社区管理员
  • Microsoft Office应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧