質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

3回答

6880閲覧

エクセル VBA シート保護のエラー

qwertyuiop12345

総合スコア11

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

1クリップ

投稿2015/03/27 01:55

エクセル 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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

憶測ですが、シートに手動でパスワードを設定した場合、マクロからのパスワード変更が禁止になっています。
なので、以下のようにしてマクロからのパスワードの変更を許可してあげる必要があります。

VBA

1Sheets("Sheet3").Select 2ActiveSheet.Protect UserInterfaceOnly:=True 3ActiveSheet.Protect Password:="bbb" 4ActiveSheet.EnableSelection = xlUnlockedCells

パスワード解除ダイアログが出ますので、そこで一旦手入力でパスワードを解除します。
そうすれば後はマクロで自動設定が可能になります。

投稿2016/03/08 05:11

lilithchan

総合スコア249

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

再現しませんでした。
こちらの環境では正しく動作します。

エラー画面で「デバッグ」を押して、どのステップで失敗しているか確認してみてください。
また、その該当シートのプロテクトを手動で外してみてください。

投稿2016/03/01 13:09

thom.jp

総合スコア686

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Windows7+Office2010で試したところ、思った通りの動作をしました。

パスワードを変更した後で保存をしていないのではないでしょうか。

投稿2015/04/11 10:41

argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問