【Excel VBA】If Elseとは違う条件式(Select Case)について
エンジニアのIMMRです。Excel VBAの条件式には、以前に説明したExcel VBA 条件式(If Else)とこれから説明するSelect Caseの二つあります。1.従来のIf Else条件式If Elseは条件に合った時は処理Aを、条件に合わなかったら処理Bを実行します。では、下記のようなデータがあり、複数の条件があるとします。If Elseを使用して作成すると2種類の方法が浮かぶと思
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
こんにちは。IMMRです。
例えば、月次に売り上げを報告する下記のような報告書があるとします。
図1 売上報告書(フォーマット)
そして、この報告書に店舗や売上値を入力します。
図2 売上報告書(数値入力)
本来なら上記のように入力して、報告書を提出しますが、場合によっては下記のようにちょっとキーボードに
手が当たってしまって報告する数値が違う値になってしまうこともあります。
図3 売上報告書(数値入力誤り)
このように手違いで数値をいじってしまうので、保護したいと思うことはあると思います。
ここでは、シートの保護そして、解除の方法を説明していきます。
ワークシートを保護するには、Protectメソッドを使用します。
ActiveSheet.Protect Password:="パスワード"
現在、参照しているシートを「ActiveSheet」で定義します。
そして、Protectで保護を行いますが合わせて、保護するためのパスワードも記載します。
これにより、保護がかかります。しかし、保護をかけてしまうと修正も出来なくなってしまいます。
修正するには保護を解除しなくてはいけません。
そのため、保護の解除方法も合わせて説明します。
パスワードで保護したワークシートを解除するには、Unprotectメソッドを使用します。
ActiveSheet.Unprotect Password:="パスワード"
先ほどと同様、参照しているシートを「ActiveSheet」で定義します。
そして、Unprotectで保護の解除を行いますが、Protectで保護した時に使用したパスワードを記載します。
もし、ここで保護した時に使用したパスワードと異なると下記のようなエラーが発生します。
図4 保護解除のエラー
では上記で説明したワークシートの保護および解除をするマクロを作成します。
マクロはサンプルとして下記のように作成しました。
図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") = ""というように文字を入力するとエラーなります。
では、上記で説明したマクロを実行してみようと思います。
まずは、マクロに数値等を入力します。
図6 マクロ(売上報告)値の入力
そして、「入力完了」ボタンを押します。
図7 マクロ(売上報告)実行
セル(C6)に"入力完了"という文字が入力されました。次に保護がきちん行われるか確認を行います。
再び、売上値を入力するためにセル(C4)をダブルクリックします。
そうすると
図8 マクロ(売上報告)保護状態の入力
修正ができません。保護がしっかり出来ていることが確認できます。
次に修正をするために保護の解除を行います。【図7 マクロ(売上報告)実行】の状態で「修正ボタン」を押します。
図9 マクロ(売上報告)保護解除
セル(C6)に"入力完了"という文字が削除されました。そしてセル(C4)をダブルクリックをします。
図10 マクロ(売上報告)数値の修正
数値を修正することが出来ました。保護が解除出来ていることが確認できます。
これにより、
ワークシートの保護・解除することができました。
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート