Excel儲存格被鎖定忘了密碼?VBA取消保護工作表

目錄

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」。

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

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

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

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

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

相關文章