11.28 EXCEL--原來我們可以給表格安裝監控器!太牛了

今天教大家做一個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、裡面需要記錄的工作表名稱為:操作日誌,代碼前後必須要保持一致。


分享到:


相關文章: