2017.05.09皆様こんにちは、ノグチです。VBAでツールを作ったはいいものの、使う人に勝手にシートを変更されてVBAが動かなくなってしまったことはありませんか?「シートの保護でセルの変更を制限することはできるけど、VBAだけはセル操作させたい...」また、「シートの保護を設定したシートのセルの値をVBAで変更したい」ということもありますよね。そんなときに使えるのが、Worksheetオブジェクトの「Protect」メソッドと「Unprotect」メソッドです。今回はこの2つのメソッドを使って、VBAでシートの保護設定と、解除する方法をご紹介します!目次ProtectメソッドとはProtectメソッドでシートの保護を設定するUnprotectメソッドとはUnprotectメソッドでシートの保護を解除する最後に連載目次:エクセル&VBAでブックやシートの保護をするテクニックProtectメソッドとはProtectメソッドは、指定したシートに対して「シート保護」を設定するメソッドです。下記の記事で手動でシートの保護を設定する方法をご紹介しましたが、このメソッドを使えば、VBAにシートの保護設定をさせることができるのです。【Excel】勝手な編集は許しません!初心者向けのシート保護設定エクセルの「シートの保護」を使ったシートの値編集を制限したり、パスワードを使って特定の人だけに操作できるようにする方法をご紹介しています。関数やマクロを使ったエクセルブックのように、値やシートを操作されると正しく動作しなくなる、というときに便利な機能です。tonari-it.com2017.04.17このメソッドの記述方法はこちら。Worksheetオブジェクト.ProtectこのWorksheetオブジェクトには、シートの保護を設定したいシートを指定します。Protectメソッドでシートの保護を設定するでは早速このProtectメソッドを使って、シートの保護を設定してみましょう。下図の表のB列とC列を乗算して、D列に乗算の結果を出力するコードを用意しました。このVBAで出力した結果があるシートに、Protectメソッドを使ってシートの保護を設定してみましょう。SubこのVBAコードを実行したあと、セルの値を変更しようとすると...この通り、シートの保護が設定されて、セルの値が変更できないようにすることができました!Unprotectメソッドとはお次はシートの保護をVBAで解除する方法のご紹介です。シートの保護をVBAで解除するには、Unprotectメソッドを使います。Unprotectメソッドは、シートの保護を解除するためのメソッドです。Worksheetオブジェクト.UnprotectUnprotectメソッドもProtectメソッドと同様に、Worksheetオブジェクトにはシートの保護を解除したいシートを指定してくださいね。Unprotectメソッドでシートの保護を解除するでは、実際にUnprotectメソッドを使って、シートの保護を解除してみましょう。Protectメソッド使ってシートの保護を設定したシートを対象に、下のコードでシートの保護を解除してみます。Subこの通り、シートの保護が解除されてセルの値が変更できるようになりました!手動でもそうですが、シートの保護は解除しても特にメッセージなどは表示されません。セルの値が変更できるようになっていればシートの保護は解除されていますし、エクセルメニューにある「シートの保護」が緑色にハイライトされていなければ、シートの保護は解除されています。ちなみに、手動で設定したシートの保護は、このUnprotectメソッドを使って解除することができます。逆に、Protectメソッドで設定したシートの保護は、エクセルのツールメニューにある「シートの保護解除」をクリックして解除することもできますよ。最後にいかがでしたでしょうか。今回は、ProtectメソッドとUnprotectメソッドを使って、シートの保護、シートの解除方法についてご紹介しました。シートの保護は手動でも設定できますが、手動だとシートの保護の設定を忘れてしまいがちです。このシートの保護に限らず、手動での操作は私たちが考えている以上にミスをしてしまったり、処理が漏れたりしてしまうもの。毎回設定が必要と分かっているなら、はじめからVBAで自動化してしまった方が手間が省けることと、何より確実です。今回は単純なシートの保護と解除の方法をご紹介しました。パスワードを使ったシートの保護の設定や、マクロだけはシート上での操作を許可する方法もありますよ。こちらは次回以降の記事でご紹介していきます。それでは、最後までお読みいただきありがとうございました!マクロだけ操作可能なシート保護の設定方法を、以下記事で紹介していますので、こちらもご覧ください。【エクセルVBA】保護しているシートでマクロの操作だけ有効にする方法ProtectメソッドのUserInterfaceOnlyオプションを使った、エクセルのシートの保護を設定する方法をご紹介しています。これを使えば、ユーザのシート内容の操作は制限しつつ、VBAはシート内の操作が可能なシートの保護が設定できますよ。tonari-it.com2017.05.23連載目次:エクセル&VBAでブックやシートの保護をするテクニックエクセルやVBAで「このシートは消されると困る」とか、「シートの名前を変えられるとVBAが動かなくなる」といった悩み、ありますよね。そんな時は「保護」をして操作ができないようにすることができます。本シリーズではエクセルやエクセルVBAでブックやシートの保護をするテクニックについてお伝えします。投稿者プロフィールノグチフリーランスPG・SE元製造子会社SE。業務システム保守・導入両方やった経験をお伝えすることで、少しでもシステムや手作業に悩まされる人が減ればいいなぁと日々夢見ております。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。【エクセルの条件付き書式を活用しよう】さまざまな書式ルールの設定と適用順位を理解するエクセルの条件付き書式をマスターするシリーズ。第三回目は「新しいルール」でルール設定をする方法と、ルール適用の順位について紹介しています。2018.11.27Excel・VBA活用術エクセルVBAでカレンダーシートに自動でタスクを表示する方法エクセルVBAでカレンダーのシートに翌月のタスクを自動計算して表示させる方法を紹介します。初心者でも簡単!エクセルVBAでPDFを出力する最もシンプルなプログラムエクセルVBAではPDF形式での出力もできます。今回は、初心者向けエクセルVBAでPDFを出力する最も簡単なプログラムと、PDF出力の際にシート1ページに収めて出力する方法についてお伝えしていきます。【エクセルの条件付き書式を活用しよう】関数を組み合わせて高度なルール設定をするエクセルの条件付き書式をマスターするシリーズ。第五回目は「関数を組み合わせたルール設定」です。条件判定にエクセルの関数を使用することで、より高度なルール設定ができるようになります。【エクセルVBAでIE操作】ページャーをめくって複数ページからデータを取得するエクセルVBAでIEを操作する初心者向けのシリーズです。今回はページャーをめくって自動でクロールする方法とその見つけ方について解説をします。初心者向けエクセルVBAでIEを操作するシリーズの第2回目です。今回はHTMLタグと要素について簡単に説明をしつつIEで開いたページのHTMLドキュメントを取得する方法についてお伝えします。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。Scriptが「V8ランタイム」をサポート!モダンなECMAScript構文が使えるようになった2020.02.072020.02.08GASでコピーしたGoogleスライドのプレゼンテーションを取得する方法2020.02.052020.02.05Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。