検索

キーワード


目次

【Excel VBA】ワークシートの保護・解除をする方法

  • 公開日:2021-05-18 14:00:21
  • 最終更新日:2021-11-28 21:50:19

Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!

フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。

はじめに

こんにちは。IMMRです。

例えば、月次に売り上げを報告する下記のような報告書があるとします。


図1 売上報告書(フォーマット)

売上報告書(フォーマット)


そして、この報告書に店舗や売上値を入力します。


図2 売上報告書(数値入力)

売上報告書(数値入力)

本来なら上記のように入力して、報告書を提出しますが、場合によっては下記のようにちょっとキーボードに

手が当たってしまって報告する数値が違う値になってしまうこともあります。


図3 売上報告書(数値入力誤り)

売上報告書(数値入力誤り)


このように手違いで数値をいじってしまうので、保護したいと思うことはあると思います。

ここでは、シートの保護そして、解除の方法を説明していきます。


1.ワークシートを保護する

ワークシートを保護するには、Protectメソッドを使用します。


ワークシートを保護する

ActiveSheet.Protect Password:="パスワード"


現在、参照しているシートを「ActiveSheet」で定義します。

そして、Protectで保護を行いますが合わせて、保護するためのパスワードも記載します。


これにより、保護がかかります。しかし、保護をかけてしまうと修正も出来なくなってしまいます。

修正するには保護を解除しなくてはいけません。

そのため、保護の解除方法も合わせて説明します。


2.ワークシートを保護を解除する

パスワードで保護したワークシートを解除するには、Unprotectメソッドを使用します。


ワークシートの保護を解除する

ActiveSheet.Unprotect Password:="パスワード"


先ほどと同様、参照しているシートを「ActiveSheet」で定義します。

そして、Unprotectで保護の解除を行いますが、Protectで保護した時に使用したパスワードを記載します。

もし、ここで保護した時に使用したパスワードと異なると下記のようなエラーが発生します。


図4 保護解除のエラー

保護解除のエラー


3.ワークシートの保護・解除をするサンプルプログラム

では上記で説明したワークシートの保護および解除をするマクロを作成します。

マクロはサンプルとして下記のように作成しました。


図5 マクロ(売上報告)

マクロ(売上報告)


ボタンは「入力完了」と「修正」の2つにしています。

店舗、売上値を入力して。「入力完了」ボタンを押すと保護がかかります。

修正をする場合は「修正」ボタンを押して、保護を解除してから修正します。


「入力完了」ボタンのサンプルコード

Sub TEST34_1()
    Range("C6") = "入力完了!"
    ActiveSheet.Protect Password:="1234"
End Sub

※パスワードは1234です。

 そして、完了ボタンを押して、保護をしたことがわかるようにセル(C6)に"入力完了"という文字が入力されます。


 注意:Protectdで保護をかけた後で、Range("C6") = "入力完了!"というように文字を入力するとエラーなります。

 


「修正」ボタンのサンプルコード

Sub TEST34_2()
    ActiveSheet.Unprotect Password:="1234"
    Range("C6") = ""
End Sub

※パスワード1234で保護をしたので1234で保護の解除をします。

 また、さきほど、"入力完了"と入力したセル(C6)は初期化(ブランク)されます。


 注意:Unprotectで保護を解除する前にRange("C6") = ""というように文字を入力するとエラーなります。


4.ワークシートの保護・解除をするサンプルプログラムの実行

では、上記で説明したマクロを実行してみようと思います。

まずは、マクロに数値等を入力します。


図6 マクロ(売上報告)値の入力

マクロ(売上報告)値の入力


そして、「入力完了」ボタンを押します。


図7 マクロ(売上報告)実行

マクロ(売上報告)実行


セル(C6)に"入力完了"という文字が入力されました。次に保護がきちん行われるか確認を行います。

再び、売上値を入力するためにセル(C4)をダブルクリックします。

そうすると


図8 マクロ(売上報告)保護状態の入力

マクロ(売上報告)保護状態の入力


修正ができません。保護がしっかり出来ていることが確認できます。

次に修正をするために保護の解除を行います。【図7 マクロ(売上報告)実行】の状態で「修正ボタン」を押します。


図9 マクロ(売上報告)保護解除

マクロ(売上報告)保護解除


セル(C6)に"入力完了"という文字が削除されました。そしてセル(C4)をダブルクリックをします。


図10 マクロ(売上報告)数値の修正

マクロ(売上報告)数値の修正


数値を修正することが出来ました。保護が解除出来ていることが確認できます。


これにより、

ワークシートの保護・解除することができました。


【著者】

Imamura

「挑戦心」を忘れずに、新しいことにチャレンジしています。 資格:VBAエキスパート Excel VBA(ベーシック/スタンダード) 等

編集した記事一覧

正社員/フリーランスの方でこのようなお悩みありませんか?

  • 自分に合う案件を定期的に紹介してもらいたい
  • 週2、リモートワークなど自由な働き方をしてみたい
  • 面倒な案件探し・契約周りは任せて仕事に集中したい

そのような方はぜひ、Workteriaサイトをご利用ください!

  • 定期的にご本人に合う高額案件を紹介

  • リモートワークなど自由な働き方ができる案件多数

  • 専属エージェントが契約や請求をトータルサポート

よく読まれている記事