Vbaを使用してシートを保護/保護解除するにはどうすればよいですか?

VBA には、シートで使用できる PROTECT メソッドがあります。この方法では、パスワードの有無にかかわらずシートを保護するオプションがあります。また、シートから物体を保護することもできます。このチュートリアルでは、これらすべてを詳しく説明します。

このチュートリアルでは、VBA コードを使用して単一のシートまたは複数のシートを保護および保護解除する方法を説明します。

シートを保護するための VBA コードを作成する

シートを保護するには、まずシートを指定してから、保護方法を使用する必要があります。手順は次のとおりです。

  1. シートを指定するには、sheets オブジェクトを使用します。
  2. 保護したいシートの名前を入力します。
  3. ピリオドを入力すると、メソッドとプロパティのリストが表示されます。
  4. プロジェクトの方法を選択するか、入力します。
シートオブジェクトを使用して保護するシートを指定する
 Sheets("Sheet1").Protect

役立つリンク:マクロの実行マクロ レコーダー– Visual Basic Editor –パーソナル マクロ ハンドブック

シートの保護を解除する VBA コードを作成する

シートを保護するには、まずシートを指定してから、unprotect メソッドを使用する必要があります。手順は次のとおりです。

  1. シートオブジェクトを使用してシートを指定します。
  2. 次に、保護したいシートの名前を入力します。
  3. ピリオドを入力してメソッドとプロパティのリストを取得します。
  4. 「保護を解除する」方法を選択するか、入力します。
シートオブジェクトを使用して保護を解除するシートを指定する
 Sheets("Sheet1").Unprotect

シートをパスワードで保護する

シートを保護するときにパスワードを設定する場合は、password 引数を使用してパスワードを指定する必要があります。シートを保護するために「test123」というパスワードをシートに設定したいとすると、コードは次のようになります。

シートをパスワードで保護する
 Sheets("Sheet1").Protect Password:="test123"

シートのパスワード保護を解除する

同様に、シートの保護を解除する場合は、パスワード引数にパスワードを指定する必要があります。シートの保護に使用したパスワードが「ADSBP」だとすると、保護を解除するコードは以下のようになります。

 Sheets("Sheet1").Unprotect Password:="ADSBP"

注意が必要な点が 1 つあります。VBA では大文字と小文字が区別されるため、大文字に注意してください。

その他知っておくべきこと

先ほども言いましたが、VBA の「Protect」メソッドを使用していますが、このメソッドには「Password」以外にも使用できる引数があります。

 expression.Protect (Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)
  1. DrawingObjects : シェイプを保護または保護解除します。
  2. 内容: ロックされたセルとグラフ全体を保護します。
  3. シナリオ: スプレッドシート内のシナリオを保護します。
  4. UserInterfaceOnly : マクロではなく、ユーザー インターフェイスのみを保護します。
  5. AllowFormattingCells : ユーザーがセルに書式設定を適用できるようにします。
  6. AllowFormattingColumns : ユーザーが列に書式設定を適用できるようにします。
  7. AllowFormattingRows : ユーザーが行に書式設定を適用できるようにします。
  8. AllowInsertingColumns : ユーザーが新しい列を挿入できるようにします。
  9. AllowInsertingRows : ユーザーが新しい行を挿入できるようにします。
  10. AllowInsertingHyperlinks : ユーザーがハイパーリンクを作成できるようにします。
  11. AllowDeletingColumns : ユーザーが列を削除できるようにします。
  12. AllowDeletingRows : ユーザーが行を削除できるようにします。
  13. 並べ替えを許可: ユーザーが行、列、テーブルを並べ替えることを許可します。
  14. AllowFiltering : 列のフィルタリングを許可します。
  15. AllowUsingPivotTables : ユーザーがピボット テーブルを使用できるようにします。

コメント

  • 必ず大文字、小文字、数字、記号を組み合わせた強力なパスワードを使用してください。
  • パスワードを忘れた場合、Microsoft はパスワードを回復できません。したがって、パスワードを安全な場所に必ず書き留めてください。
  • シートがパスワードなしで保護されており、パスワードを使用して保護したい場合は、最初にシートの保護を解除する必要があります。次に、上記のコードを使用してパスワードで再保護します。
VBAとは

関連するチュートリアル

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です