- Home ›
- Excel VBA入門 ›
- ワークシートの操作
シートの保護を解除
Excel VBA を使ってワークシートの保護を解除する方法について解説します。
(Last modified: )
ワークシートの保護を解除する
Worksheetオブジェクトの「Unprotect」メソッドを使います。
Dim sheet1 As Worksheet Set sheet1 = Worksheets(1) sheet1.Unprotect Password:="pass"
保護の設定をする時にパスワードが設定されている場合には「Password」引数に保護解除のためのパスワードを設定します。
サンプルプログラム
では簡単なサンプルで試してみましょう。
まずExcelファイルのシートを保護しておきます。「ツール」メニューの中の「保護」メニューをクリックし、さらに「シートの保護」をクリックします。
今回はパスワードを設定しておきます。テキストボックス内に今回は「pass」と入力しておきます。
パスワードの再入力を求められますので、再度は「pass」と入力しておきます。
これでワークシートが保護された状態になりました。ではプログラム上から保護を解除してみます。
Sub テスト() Dim sheet1 As Worksheet Set sheet1 = Worksheets("Sheet1") sheet1.Unprotect Password:="pass" End Sub
上記マクロを実行すると次のようになります。
見た目上は変わりありませんがセルの保護が解除されており、セルが編集できる状態となっています。
次にパスワード付きで保護されたシートを、パスワードを指定せずに保護解除しようとした場合も確認してみます。先ほどと同じようにシートを保護してから次のマクロを実行して下さい。
Sub テスト() Dim sheet1 As Worksheet Set sheet1 = Worksheets("Sheet1") sheet1.Unprotect End Sub
上記マクロを実行すると次のようになります。
パスワードが必要なのに「Unprotect」メソッドの引数でパスワードを指定していないため、パスワード入力ウィンドウが表示されます。パスワードをここで入力すればシートの保護は解除できます。
-- --
Excel VBA を使ってワークシートの保護を解除する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。