在我们日常工作中可能经常会遇到不知道表格中的数据修改了哪里的问题,今天给朋友们分享一种自动创建批注记录单元格内容修改和修改时间的方法。


一.完成效果:

话不多少,先上一张效果图感受一下最终效果。

二.操作步骤:

1.首先将要自动创建批注批注记录单元格内容修改的工作簿按下快捷键F12另存为启用宏的工作簿,这种工作簿文件的后缀名xlsm。

2.鼠标右键工作表标签,调出菜单后选择查看代码。复制粘贴下面的代码,就可以实现自动创建批注记录单元格内容修改和修改时间。

Dim YNR As String Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Comment Is Nothing Then If Target.Value <> "" Then Target.AddComment Target.Address(RowAbsolute:=False, ColumnAbsolute:=False) & "单元格 " & Format(Now(), "mm/dd hh:mm:ss") & " 新建内容: " & Target.Value Target.Comment.Shape.Width = 400 End If Else YPZ = Target.Comment.Text If YNR <> Target.Value Then Target.ClearComments Target.AddComment Format(Now(), "mm/dd hh:mm:ss") & " 内容由: " & YNR & " 修改为: " & Target.Value & Chr(10) & YPZ Target.Comment.Shape.Width = 400 End If End If 'Target.Comment.Visible = True'是否一直显示批注 End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next YNR = Target.Value End Sub


3.说明:

(1)如果新建单元格内容,那么创建批注的内容包含单元格的地址、创建时间和新建内容。(2)如果修改单元格内容,那么批注的内容会在原有内容的基础上新增单元格内容修改和修改时间的记录。

小结,如果只是批注记录了修改记录,在我们查看修改记录时也并不容易,接下来分享一种提取批注的方法。

4.提取批注内容:

按下快捷键ALT+F11进入VBA编辑界面,插入一个模块复制下方的代码。

Public Function TIQU(RNG As Range) Application.Volatile True TIQU = RNG.Cells.Comment.Text End Function

5.在单元格中输入下方的公式,就可以快速提取单元格中的批注。提取完批注之后可以用条件格式或查找功能快速找到你要查询单元格修改的记录。

=TIQU(要提取批注的单元格的地址)



总结,学会了这种批注自动记录单元格内容的方法。你还担心不知道数据修改了哪里吗?