老師你好,我由於看見你這課題很有趣,因此我根據你課題內容,寫了一段改良版本的VBA 代碼,能夠按下執行後,直接要求填入密碼及出現顯示是否取消鎖定選取儲存格的訊息選項(預設為不取消,但可選取消),也寫了取消保護時,出現查詢填入密碼的訊息欄位。 謝謝提供課題,使我學習了,也想分享給大家 。 老師如我有冒犯,請刪除我的留言。 Sub 批量保護() '一次保護全部工作表 Dim Pw As String Dim YN As Byte Dim Sht As Worksheet Pw = Application.InputBox("請轉入密碼", "轉入保護所有工作表", , , , , , 3) YN = MsgBox("取消鎖定選取儲存格", vbYesNo + vbQuestion + vbDefaultButton2, "鎖定選取儲存格") For Each Sht In Sheets With Sht If YN = vbYes Then .Protect Pw .EnableSelection = xlUnlockedCells Else .Protect Pw .EnableSelection = xlNoRestrictions End If End With Next End Sub Sub 批量保護解除() '一次開鎖全部工作表 Dim Pw As String Dim Sht As Worksheet Pw = Application.InputBox("請轉入密碼", "取消保護所有工作表", , , , , , 3) On Error GoTo Cancel For Each Sht In Sheets Sht.Unprotect Pw Next Exit Sub Cancel: mbox = MsgBox("輸入密碼錯誤", vbOKOnly + vbInformation, "錯誤") End Sub