Excel為了防止修改內容,可以將工作表上的儲存格範圍鎖定保護,可是如果密碼忘記了卻很麻煩,本文介紹簡單幾行VBA程式代碼,執行巨集解除工作表保護。
一、工作表密碼保護
贊贊小屋的練習題檔案有工作表想取消群組,發現被保護住了,密碼和原本所設定的不一樣,沒辦法編輯工作表。
二、Excel檢視程式碼
滑鼠游標移到工作表標籤上,右鍵點選「檢視程式碼」這個快捷選項。
三、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
四、檢視巨集及快速鍵
上方功能區「檢視」頁籤,將「巨集」程式集下拉,選擇「檢視巨集」。依照浮窗說明可知其快捷鍵為「Alt+F8」。
五、Excel執行巨集
「巨集」對話方塊會看到第三步驟所貼上的程式碼,在這裡呈現為「解除工作表密碼」巨集,直接按「執行」。
六、取消保護工作表
執行後跳出「取消保護工作表」對話方塊,中間是輸入密碼欄位,不過這裡直接「取消」即可。
七、解除鎖定儲存格
雖然沒有輸入過正確密碼,工作表已解除保護,可以取消群組做任何的儲存格編輯。
八、保護工作表目的
參考微軟Office產品支援中心關於Excel保護工作表的說明:「並非作為安全性功能的用途。此功能只是用來防止使用者修改工作表內的鎖定儲存格。」
VBA如何取消保護工作表
仔細分析VBA程式碼,它藉由工作表保護屬性的反覆設定將密碼清除,最後再解除保護,因此巨集執行完要再確定取消保護,效果等同於把工作表保護更新為空白密碼。參考微軟相關說明會更加清楚,此功能並非安全性等級的用途,也許因為如此可利用VBA執行繞過Excel指令限制,在灰色地帶直接跳過密碼設定。
完整學習:VBA自動化文章合輯。