今天教大家做一個VBA技巧最強操作,那就是製作一個屬於你的Excel表格監控器,將別人對你的表格的每一步修改操作全部記錄下來。這樣再也不用擔心別人到底修改的是哪一步操作,我們也可以對數據進行恢復。
下面我們來看一下具體的效果展示。
如上圖:我們有一個操作日誌的表格和每日銷售明細的表格。操作日誌是記錄每一次操作的記錄,每日銷售明細是每天需要登記的數據,當我們在每日銷售明細中進行修改操作的時候,操作日誌裡面就會將每一次修改記錄下來。是不是感覺很神奇呀,這就是VBA功能的強大之處。
下面我們來看一下製作的具體操作。
第一步:新建對應的工作表,我們需要每天操作的表格和需要記錄的工作表(操作日誌)。如下圖:
第二步:按alt+f11或右鍵點擊工作表名稱,進入代碼編輯窗口,雙擊工程文件thisworkbook進入代碼編輯窗口。如下圖:
第三步:雙擊thisworkbook進入代碼編輯窗口,輸入以下VBA代碼即可。如下圖:
代碼如下:
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、裡面需要記錄的工作表名稱為:操作日誌,代碼前後必須要保持一致。
閱讀更多 Excel小陳是我啊 的文章