首页 > Excel专区 > Excel函数 >

怎么制作Excel表格监控器,将别人的每一步操作都记录在案

Excel函数 2023-01-08

今天教大家做一个VBA技巧最强操作,那就是制作一个属于你的Excel表格监控器,将别人对你的表格的每一步修改操作全部记录下来。这样再也不用担心别人到底修改的是哪一步操作,我们也可以对数据进行恢复。

下面我们来看一下具体的效果展示。

怎么制作Excel表格监控器,将别人的每一步操作都记录在案

演示效果图

如上图:我们有一个操作日志的表格和每日销售明细的表格。操作日志是记录每一次操作的记录,每日销售明细是每天需要登记的数据,当我们在每日销售明细中进行修改操作的时候,操作日志里面就会将每一次修改记录下来。是不是感觉很神奇呀,这就是VBA功能的强大之处。

下面我们来看一下制作的具体操作。

第一步:新建对应的工作表,我们需要每天操作的表格和需要记录的工作表(操作日志)。如下图:

怎么制作Excel表格监控器,将别人的每一步操作都记录在案

第二步:按alt+f11或右键点击工作表名称,进入代码编辑窗口,双击工程文件thisworkbook进入代码编辑窗口。如下图:

怎么制作Excel表格监控器,将别人的每一步操作都记录在案

第三步:双击thisworkbook进入代码编辑窗口,输入以下VBA代码即可。如下图:

怎么制作Excel表格监控器,将别人的每一步操作都记录在案

代码如下:

Dim XX

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

On Error Resume Next

If Sh.Name <> "操作日志" And Target.Rows.Count = 1 Then

With Sheets("操作日志")

If XX <> Target Then

ROW1 = Sheets("操作日志").[A65536].End(xlUp).Row + 1

.Cells(ROW1, 1) = Format(Now, "yyyy-mm-dd hh:mm:ss")

.Cells(ROW1, 2) = Sh.Name

.Cells(ROW1, 3) = XX

.Cells(ROW1, 4) = Target.Value

.Cells(ROW1, 5) = Target.Address

End If

End With

End If

End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

XX = Target.Value

End Sub

第四步:另存为启用宏的工作簿就可以正常使用了。

注意点:

1、DIM定义的名称为XX,代码中的名称前后必须保持一致;

2、里面需要记录的工作表名称为:操作日志,代码前后必须要保持一致。


Copyright © 2016-2023 office学习教程网 office.tqzw.net.cn. All Rights Reserved.