記録することによって見えてくるもの

Excelのセルの保護(ロック処理)とシート保護のマクロ

かわべ
WRITER
 
Excel_ロック処理の例の画像
この記事を書いている人 - WRITER -
かわべ
生誕:1969年 東京 生まれ 趣味:楽器演奏(St.Bass、E.Bass)     読書(ミステリー)     映画鑑賞(学生時代、映画館でアルバイト経験あり)
<スポンサーリンク>  
 

こんにちは。かわべです。

この記事ではExcelのセルの保護(ロック処理)とシート保護のマクロについて記載します。

ロック処理_17

(使用Excel;2013)


<スポンサーリンク>    
 

ロック処理とシートの保護

Excelでセルに入力した値を保護するためのロック処理を有効にするためには「シート保護」の処理をしなければなりません。

次の画像のとおり「セルの書式設定」を見るとシートの保護が必要であることが記載されています。(下の画像の赤色の枠囲み部分)

ロック処理_11

vbaで記述する場合も仕組みは同じ(セルのロック処理とシート保護の両方の記述が必要)となります。

 

ロック処理の記述

vbaでロック処理の記述は次のとおりです。

(セル).Locked = True

Trueはロック処理を有効にし、Falseと記述した場合はロック処理を無効にします。

しかし、上記のとおり、Trueで有効にしてもシート保護をしなければ有効にはなりません。

 

シート保護の記述

vbaでシート保護の記述は次のとおりです。

(ワークシート).Protect

シート保護の解除は次のとおりです。

(ワークシート).Unprotect

※ 引数について省略

下記のページを参照してください。

microsoft;Worksheet.Protect メソッド (Excel)

使用例

次のような表を用意しました。

ロック処理_12

売上高を入力すると売上高累計に月次の累計金額が表示されるようになっていますが、入力されている売上高の数値をロックするマクロを作成してみました。

ロック処理_13

lonYyにC列の数値が入力されている最大行を代入し、C列の2列目から最大行までをロック処理する記述をしました。(上の画像の緑色の枠囲み部分)

シートを保護する記述もしました。(上の画像の赤色の枠囲み部分)

※ セルの基本設定はロック処理がTrueの状態のようです。よって、上記の記述をしなくてもシート保護の記述をすれば、セルの値を保護することができますが、この記事ではあえて記述しました。

※ ロック処理していあるセルを見分けるため、ロック処理をした後、背景色を灰色(15)に変更しました。(上の画像の水色の枠囲み部分)

関連記事 最大値のセルの背景色を変更するマクロ

マクロを実行すると次のとおり、C列の売上高が入力されているセルが灰色になります。

ロック処理_14

この状態でC2セルの値を変更しようとすると、次のメッセージが表示されます。セルが保護されていることがわかります。

ロック処理_16

 

シートの保護解除

シートの保護は、リボンのなかのアイコンでも解除することができますが、vbaでシートの保護を解除する記述もしてみました。

ロック処理_15

上の画像の赤い枠囲み部分のとおり、「(ワークシート).Unprotect」と記述すれば、シートの保護が解除されます。

※ 背景色をなし(0)に変更するように記述しています。(上の画像の水色の枠囲み部分)


■□◆◇ 編集後記 ◇◆□■

今日は、関東はすずしいですね。

知り合いの税理士さんが節税Tシャツなるものを作成しました。(Tシャツのデザインはリンク先でご確認ください。)

節税Tシャツ作っちゃいました!!!!!

節税Tシャツ_1

Pocket
このエントリーを Google ブックマーク に追加
LINEで送る

この記事を書いている人 - WRITER -
かわべ
生誕:1969年 東京 生まれ 趣味:楽器演奏(St.Bass、E.Bass)     読書(ミステリー)     映画鑑賞(学生時代、映画館でアルバイト経験あり)

報酬のお見積り

法人の顧問報酬と決算報酬を、前期の売上実績当期の売上予測でお見積もりすることができます。(※)

LINK 報酬お見積もり【法人用】 web

お名前やメールアドレスの入力は必要ありません。ウェブ上で簡単にお見積もりができます。

※ オプション料金は別途となります。

Copyright© J-musu-no-blog , 2015 All Rights Reserved.