平淡
對于數據修改,Excel自帶突出顯示修訂功能。不過Excel 2019默認沒有顯示修訂菜單,需要點擊“文件一選項一自定義功能區一不在功能區中的命令”,在右側定位到“審閱”,點擊“新建組”,接著定位到“新建組”,然后將左側的“追蹤更改(舊版)”菜單添加到該組中(圖1)。
返回Excel窗口,點擊“審閱→追蹤更改(舊版)→突出顯示修訂”,勾選“編輯時跟蹤修訂信息,同時共享工作簿”,時間選擇全部,位置選擇B2:B7的數據(圖2)。
這樣,當我們在原始工作簿中對數據進行修改時,在修改的單元格中就會添加三角形標記,鼠標移到修改位置可以看到修改者和原始數據(圖3)。
突出顯示修訂需要設置工作簿為共享模式,并且對每個修改區域手動選擇才能顯示修訂。借助條件格式設置則可以解決突出顯示修訂的不足,不僅可以使用醒目的顏色標注修改數據(不是像突出顯示修訂那樣使用三角形標記),而且可以使用單獨列顯示原始數據(無需手動選擇),當然也無需設置工作簿為共享模式。


在原工作簿中新建工作表,然后將數據都復制一份到新表中,點擊“開始→條件格式→新建規則”(注意:如果原來的表格數據設置了“突出顯示修訂”,那么需要取消這個設置才能設置條件格式,否則條件格式菜單不可用)。在打開的窗口中選擇“使用公式確定要設置格式的單元格”,在公式欄輸入“=B2<>Sheet2!82”(即兩個表格的B2值不相同),點擊“格式”,設置符合條件時單元格背景顏色填充為紅色顯示(圖5)。
點擊“條件格式一編輯規則”,選中上述新建的規則,在“應用于”選擇B2:B7數據區域。如果有多個區塊數據,按住Ctrl鍵進行多選即可。這樣上述區域的數據發生變化時,就會應用設置的條件格式(圖6)。
為了便于比對修改前后的數據,可以在C1中輸入“修改提示”,在C2中輸入公式“=IF(B2<>Sheet2 182,"數據已改,原始數據是"&Sheet2!B2,"")”,表示當表1的B2數據修改后,在C2顯示“數據已改,原始數據是表2復制的數據”,將公式下拉填充。接著右擊Sheet2選擇“隱藏”,這樣當我們在原始工作表修改數據后,由于修改后的數據和Sheet2的不同,修改的數據單元格就會自動填充為紅色,同時在C列則會提示數據已經修改.并會自動顯示原始數據值(圖7)。
如果需要標注的文檔很多,或者工作簿包合多個工作表,那么每個表都要重復設置上述條件,操作效率不高。這時,我們還可以借助VBA代碼實現數據變動全局自動上色。
選中上述原始工作表,右擊選擇“查看代碼”,在打開的窗口中輸入下列代碼(圖8):
Dim×
Private Sub Worksheet_ChangefByVal Target AsRange)
If Target.Value<>×Then Target.Interior.Color=vbRed
End Sub
代碼解釋:這里先使用DIM語句設定一個變量,然后使用代碼對變量進行校驗,當活動單元格輸入新值時就自動填充為紅色(代碼vbRed,可以自行更改為其他顏色)。
返回Excel窗口,只要我們對數據進行了更改,那么更改數據(當然也包括文字等任何修改)的單元格就會變為紅色,默認是對整張工作表生效,也可以設置代碼對整個工作簿生效,這樣工作簿中任何數據的變動都會自動標紅(圖9)。