セルの保護の設定方法についてです。
セルの保護には「ロック」と「表示しない」があります。
コードを例示して解説します。
こんにちは じゅんぱ店長 (@junpa33) です。
今回はセルの書式設定の「保護」についてです。セルの「保護」を行うVBAについての説明です。
「保護」の中には、「ロック」と「表示しない」という項目があります。
今回はこの項目をVBAコード化して利用する方法を説明します。
コンテンツ
セルの書式設定「保護」設定とはこれです。
「保護」の中の項目には、「ロック」と「表示しない」があります。
- この「保護」の効果を得るためには、前提としてワークシートが保護されることが必要です。
セルを保護設定のためのVBAコード
『セルを保護するとは、不注意なデータ編集によるミスを出来るだけ防止するためのもの』と理解ください。
ノーガードのデータを、このオプションで安易に変更できなくするために、という意味合いのものです。
ロック
ロックとは「セル側からの保護機能」のことです。
VBAでこのロックを行うためには、「Lockedプロパティ」を利用します。
Rangeオブジェクト.Locked = True または False
Trueでロックを行う Falseでロックを解除
エクセルBOOKは、立ち上げ時のデフォルトで、「True(ロックを行う)」の状態になっています。
ロックすると何もできなくなるようなイメージですが、
利用法としては、例えば、
「共有された追記式の顧客リストの内容を誤って安易に削除修正変更できないようにする」といった利用法です。
Sub 顧客リスト保護()
With Worksheets("Sheet1")
.Unprotect
.Range(Cells(1, 1), Cells(Cells(Rows.Count, 1) _
.End(xlUp).Row, 5)).Select
With Selection
.Locked = True
.SpecialCells(xlCellTypeBlanks).Locked = False
End With
.Protect
End With
End Sub
コードのはじめにシートの保護を一旦解除する
顧客リストの範囲を指定してセルのロック状態に設定する。
セル範囲内の空白セルについてはロックを解除する
最後にシートのプロテクトを設定
新規の部分は入力が可能になっていますが、すでに入力されている部分については、保護されていることが分かります。
空欄に追加入力する度にこのVBAコードを実行することで、入力部分が追加保護されていきます。
さらに、入力済みのデータも編集できるように、完全編集可能モードとして、「シート保護」を解除状態に戻すだけのプログラム(プロシージャー)を作成しておくと便利かもしれません。
表示しない
「表示しない」とは、セルに数式を記述している場合、
そのセルを選択すると表示されるその数式を表示させなくすることです。
セルの「ロック」の付加項目のようなものです。
セルを「ロック」させた上にこのオプションを設定することが実用的です。
セルのロックをせずに、「表示しない」オプションは働きますが、そのように機能させてしまうと、シートロック中に、” 単なる編集可能な空白セル ” としか見えなくなってしまいます。
Sub 実績表保護()
With Worksheets("Sheet2")
.Unprotect
.Range(Cells(1, 1), Cells(Cells(Rows.Count, 2) _
.End(xlUp).Row, 6)).Select
With Selection
.Locked = True
.FormulaHidden = True
End With
With .Range(Cells(2, 2), Cells(Selection.Rows.Count, 6)) _
.SpecialCells(xlCellTypeBlanks)
.Locked = False
.FormulaHidden = False
End With
.Protect
End With
End Sub
コードのはじめにシートの保護を一旦解除する
顧客リストの範囲を指定してセルのロックと非表示状態に設定する。
改めてセル範囲内の空白セルのロックと非表示を解除する
最後にシートのプロテクトを設定
入力可能な「空欄」に数値を入れると合計計算がされる。が、計算式は表示されない。
入力済のセルを修正しようとすると「保護されているメッセージが表示」され編集できない。数式も表示されない。
空欄を追加入力する度にこのVBAコードを実行することで、入力部分が追加保護されていきます。
セルの書式設定「保護」のVBA最速理解のまとめ
セルの保護とシートの保護は、結構重要です。
特に、個人管理のファイルではなく複数人で利用するファイルの場合は、
データ編集ミスは必ず発生するという前提で、対策を打っておく必要があります。
ランクCのデータファイルでも、データが不注意で壊れてしまうと問題が大きいですので、
こうしたプロテクトとバックアップは必要に応じて行っておきましょう。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。