エクセル VBAでシートの保護と保護を解除するコードを作成しております。
作成したコードを以下の手順で実行するとエラーが発生するのですが、原因や対処法を知っている方がおりましたら教えていただけると幸いです。
■手順
1.VBEからSub SheetsProtect()を実行して、エクセルファイルを保存して閉じる。
2.エクセルファイルを開いて、Sub SheetsUnProtect()を実行するとエラーが発生
■実行時エラー
![イメージ説明]WIDTH:431
■固有の状況
・エクセルファイル情報
ファイル名:SheetHogoTest.xls
シート状況:デフォルトとおなじ、Sheet1、Sheet2、Sheet3から成る。
・コード作成に関する状況
開発初期には下記コードで示す、Sheet3のパスワードを”ccc”と設定しており、”bbb”に変更しました。
エクセルブックのSheet3タブを右クリックして、以前のパスワード”ccc”を入力すると解除されます。
■PC環境
Windows7-Office2010、Windows8-Office2013
lang
1Sub SheetsProtect() 2 3 'シートのプロテクト 4 5 Sheets("Sheet1").Select 6 ActiveSheet.Protect Password:="aaa" 7 ActiveSheet.EnableSelection = xlUnlockedCells 8 9 Sheets("Sheet2").Select 10 ActiveSheet.Protect Password:="bbb" 11 ActiveSheet.EnableSelection = xlUnlockedCells 12 13 Sheets("Sheet3").Select 14 ActiveSheet.Protect Password:="bbb" 15 ActiveSheet.EnableSelection = xlUnlockedCells 16 17 MsgBox "シートを保護しました。", vbInformation 18 19End Sub 20 21Sub SheetsUnProtect() 22 23 'シートのプロテクト 24 Sheets("Sheet1").Select 25 ActiveSheet.Unprotect Password:="aaa" 26 27 Sheets("Sheet2").Select 28 ActiveSheet.Unprotect Password:="bbb" 29 30 Sheets("Sheet3").Select 31 ActiveSheet.Unprotect Password:="bbb" 32 33 MsgBox "シート保護を解除しました。", vbInformation 34 35End Sub 36
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。