ワークシートの保護MyRecord業務の効率化に役立つ情報を発信します。基礎スポンサーリンクワークシートを保護する方法ワークシートに作成されているデータなどが誤って消去されたり、変更されたりしないようにするには、ワークシートを保護する必要があります。Excelにはワークシート内のセルが変更されないようにするためのシートの保護機能があります。他にも、シートを非表示にして隠すことやスクロールできる範囲を制限して他の部分の操作をできないように設定することができます。これらの設定方法について説明をします。ワークシートを保護します。ワークシートの保護を解除します。スクロール可能なセル範囲を設定します。Protect【プロテクト】メソッドワークシートを編集ができないように保護するには、Worksheet【ワークシート】オブジェクトのProtect【プロテクト】メソッドを使用します。Protect【プロテクト】メソッドの書式と設定値(引数)の説明[]内は省略可能です。AllowFiltering,AllowUsingPivotTables)]オブジェクト(必須)保護をするシートを表すWorksheet【ワークシート】オブジェクトを指定します。Password【パスワード】(省略可)パスワードを文字列で指定します。パスワードは255文字以内で設定し、大文字小文字は区別されます。省略した場合は、パスワードなしで保護を解除でき、設定した場合は保護を解除するためにパスワードが必要になります。DrawingObjects【ドローイングオブジェクツ】(省略可)Falseに設定した場合は、描画オブジェクトを保護しません。省略された場合はTrueが設定され、描画オブジェクトを保護します。Contents【コンテンツ】(省略可)Falseに設定した場合はワークシートではロックされているセルの保護を解除し、グラフシートではグラフ全体の保護を解除します。省略された場合はTrueが設定され、保護されます。Scenarios【シナリオズ】(省略可)Falseに設定した場合は、シナリオを保護しません。省略された場合はTrueが設定され、シナリオは保護されます。UserInterfaceOnly【ユーザーインターフェイスオンリー】(省略可)Trueに設定した場合は、画面上からの変更は保護されますが、マクロからの変更は保護されません。省略された場合はFalseが設定され、画面、マクロ両方、保護されます。AllowFormattingCells【アローフォーマッティングセルズ】(省略)Trueに設定した場合は、セルの書式が変更できます。省略した場合は、Falseが設定され、セルの書式の変更はできません。AllowFormattingColumns【アローフォーマッテイングカラムス】(省略可)Trueに設定した場合は、列の書式が変更できます。省略した場合は、Falseが設定され、列の書式の変更はできません。AllowFormattingRows【アローフォーマッテイングロウズ】(省略可)Trueに設定した場合は、行の書式が変更できます。省略した場合は、Falseが設定され、行の書式の変更はできません。AllowInsertingColumns【アローインサーティングカラムス】(省略可)Trueに設定した場合は、列の挿入ができます。省略した場合は、Falseが設定され、列の挿入はできません。AllowInsertingRows【アローインサーティングロウズ】(省略可)Trueに設定した場合は、行の挿入ができます。省略した場合は、Falseが設定され、行の挿入はできません。AllowInsertingHyperlinks【アローインサーティングハイパーリンクス】(省略可)Trueに設定した場合は、ハイパーリンクの挿入ができます。省略した場合は、Falseが設定され、ハイパーリンクの挿入はできません。AllowDeletingColoumns【アローデリーティングカラムス】(省略可)Trueに設定した場合は、列の削除ができます。省略した場合は、Falseが設定され、列の削除はできません。AllowDeletingRows【アローデリーティングロウズ】(省略可)Trueに設定した場合は、行の削除ができます。省略した場合は、Falseが設定され、行の削除はできません。AllowSorting【アローソーティング】(省略可)Trueに設定した場合は、並べ替えを実行できます。省略した場合は、Falseが設定され、並べ替えを実行できません。AllowFiltering【アローフィルタリング】(省略可)Trueに設定した場合は、フィルターを設定できます。フィルター条件の変更はできますが、オートフィルターの有効/無効は切り替えはできません。省略した場合は、Falseが設定され、フィルター設定はできません。AllowUsingPivotTables【アローユズイングピボットテーブルズ】(省略可)Trueに設定した場合は、ピボットテーブルを使用できます。省略した場合は、Falseが設定され、ピボットテーブルは使用できません。Subセルの選択をできなくする方法ワークシートの保護をした場合、編集できないセルであってもセルの選択はできます。ワークシートの保護時に、Worksheet【ワークシート】オブジェクトのEnableSelection【イネーブルセレクション】プロパティを以下の定数で指定します。ロックを解除しているセル以外のセルを選択できなくすることができます。すべてのセルが選択できなくなります。すべてのセルが選択可能になります。xlNoselection」と記述します。シートの保護時に入力できるセルを設定する方法シートの保護前にセルのロックを解除しておくとワークシートを保護しても、そのセルへの入力や編集は可能になります。Range【レンジ】オブジェクトのLocked【ロックツ】プロパティをFalseに設定します。False」と記述します。ワークシートが保護されてる状態ではエラーになるので、ワークシートの保護をする前に設定します。ワークシートが保護されているか確認する方法Worksheet【ワークシート】オブジェクトのProtectContents【プロテクトコンテンツ】プロパティを使用します。戻り値が、Trueの場合は保護されており、Falseの場合は保護されていません。If【イフ】ステートメント(条件分岐)を利用して以下のようにワークシートの保護状態を確認できます。"シートは保護されています。"シートは保護されていません。Unprotect【アンプロテクト】メソッド指定したワークシートの保護を解除するには、Worksheet【ワークシート】オブジェクトのUnprotect【アンプロテクト】メソッドを使用します。Unprotect【アンプロテクト】メソッドの書式と設定値(引数)の説明[]内は省略可能です。オブジェクト.Unprotect[(Password)]オブジェクト(必須)保護を解除するシートを表すWorksheet【ワークシート】オブジェクトを指定します。Password【パスワード】(省略可)ワークシートを保護するときにパスワードを指定した場合は、そのパスワードを指定します。保護時にパスワードを設定しなかった場合やパスワード入力用のダイアログボックスを表示させる場合は省略します。ダイヤログボックスにパスワードを入力してもらう場合、パスワードが間違っているとエラーになるのでエラー処理のコードを記述します。"パスワードが違います。SubVisible【ビジブル】プロパティワークシートの表示と非表示を切り替えるには、Worksheet【ワークシート】オブジェクトのVisible【ビジブル】プロパティを使用します。値の取得と設定ができます。設定値オブジェクト(必須)表示・非表示を取得または、設定するシートを表すWorksheet【ワークシート】オブジェクトを指定します。設定値(必須)ブール型で指定するか、XlSheetVisibility列挙型の定数で指定します。ブール型で指定する場合は、Trueの場合はワークシートを表示。Falseの場合はワークシートを非表示になります。XlSheetVisibility列挙型で指定する場合は以下の定数で指定します。シートを表示する※設定値をFalseまたはxlSheetHidden【シートヒドゥン】にするとワークシートは非表示になりますが、Excelのメニューから再表示できます。xlsheetVeryHidden【ベリーヒドゥン】を設定すると非表示にするとともにExcelのメニューから再表示ができなくなります。再表示する場合はVBAでVisibleプロパティの設定値をTrueもしくは、xlsheetVisible【シートビジブル】に設定します。ScrollArea【スクロールエリア】プロパティスクロールが可能なセル範囲を設定するには、Worksheet【ワークシート】オブジェクトのScrollArea【スクロールエリア】プロパティを使用します。このプロパティでセル範囲を指定すると領域以外への画面のスクロールができなくなり、その領域以外のセルを選択することができなくなります。設定値オブジェクト(必須)スクロールするシートを表すWorksheet【ワークシート】オブジェクトを指定します。設定値(必須)スクロールを可能とする範囲をA1形式の文字列で指定します。“A1:C5′′のように指定します。空文字””を指定した場合は、設定が解除されすべてのセルの選択とスクロールが可能になります。Sub※指定したA1~D5セルの範囲以外のセルの選択もできなくなります。Sub※制限を解除するには設定値を空文字にします。セルを表すRange【レンジ】オブジェクトでスクロール可能領域を設定する方法Address【アドレス】プロパティを使用して設定します。Range(“A1”).CurrentRegion.Address」と記述します。以上で、ワークシートの保護についての解説を終了します。ありがとうございました。