Excel取消保護工作表的密碼忘了?VBA程式解除鎖定

Excel為了防止修改內容,可以將工作表上的儲存格範圍鎖定保護,可是如果密碼忘記了卻很麻煩,本文介紹簡單幾行VBA程式代碼,執行巨集解除工作表保護。

一、工作表密碼保護

贊贊小屋的練習題檔案有工作表想取消群組,發現被保護住了,密碼和原本所設定的不一樣,沒辦法編輯工作表。

Excel取消保護工作表的密碼忘了?VBA程式解除鎖定 33

二、Excel檢視程式碼

滑鼠游標移到工作表標籤上,右鍵點選「檢視程式碼」這個快捷選項。

Excel取消保護工作表的密碼忘了?VBA程式解除鎖定 35

三、Excel VBA保護解除

於Excel外掛的VBA編輯視窗中,貼上下列程式代碼:

Sub 解除工作表密碼()

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, AllowFiltering:=True

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, AllowFiltering:=True

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, AllowFiltering:=True

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, AllowFiltering:=True

ActiveSheet.Unprotect

End Sub

Excel取消保護工作表的密碼忘了?VBA程式解除鎖定 37

四、檢視巨集及快速鍵

上方功能區「檢視」頁籤,將「巨集」程式集下拉,選擇「檢視巨集」。依照浮窗說明可知其快捷鍵為「Alt+F8」。

Excel取消保護工作表的密碼忘了?VBA程式解除鎖定 39

五、Excel執行巨集

「巨集」對話方塊會看到第三步驟所貼上的程式碼,在這裡呈現為「解除工作表密碼」巨集,直接按「執行」。

Excel取消保護工作表的密碼忘了?VBA程式解除鎖定 41

六、取消保護工作表

執行後跳出「取消保護工作表」對話方塊,中間是輸入密碼欄位,不過這裡直接「取消」即可。

Excel取消保護工作表的密碼忘了?VBA程式解除鎖定 43

七、解除鎖定儲存格

雖然沒有輸入過正確密碼,工作表已解除保護,可以取消群組做任何的儲存格編輯。

Excel取消保護工作表的密碼忘了?VBA程式解除鎖定 45

八、保護工作表目的

參考微軟Office產品支援中心關於Excel保護工作表的說明:「並非作為安全性功能的用途。此功能只是用來防止使用者修改工作表內的鎖定儲存格。」

Excel取消保護工作表的密碼忘了?VBA程式解除鎖定 47

VBA如何取消保護工作表

仔細分析VBA程式碼,它藉由工作表保護屬性的反覆設定將密碼清除,最後再解除保護,因此巨集執行完要再確定取消保護,效果等同於把工作表保護更新為空白密碼。參考微軟相關說明會更加清楚,此功能並非安全性等級的用途,也許因為如此可利用VBA執行繞過Excel指令限制,在灰色地帶直接跳過密碼設定。

完整學習:VBA自動化文章合輯

Excel取消保護工作表的密碼忘了?VBA程式解除鎖定 49
歡迎加入Line社群,口袋裡的VBA小教室!