\しこちゅ~のリアルを発信ちゅ~/
【エクセルVBA】役立つマクロ2選。開発歴7年の私が必ず使うコード


エクセルVBAで役に立つコードを教えてほしい
上記のお悩みを解決します。
本記事の内容
- 『シート保護』と『画面更新OFF/ON』のコードをご紹介
本記事の根拠
- 私はシステム開発7年目です
本記事を読んでほしい人
- エクセルVBAに興味をお持ちの方
それでは本題に入ります。
目次
役立つ2つのマクロ

結論です。
『シート保護』と『画面更新OFF/ON』のコードは、私が作成するマクロでは必ず使用するコードです。
- シート保護
- 画面更新OFF/ON
順番に解説します。
『シート保護』コード
1つ目は、『シート保護』コードです。
記述しておくことで、シート全体を保護してくれます。
ユーザーが誤ってシートを壊すことを防ぐメリットがあります。
シート保護コード
‘マクロの最初に記述します。
'全シート保護解除 Dim z As Worksheet For Each z In Worksheets z.Unprotect Next z
マクロの最後に記述します。
'全シート保護 Dim zz As Worksheet For Each zz In Worksheets zz.Protect Next zz
『シート保護』をかけることで、入力セル等の許可されたセル以外を入力禁止にします。
保護されたセルに入力しようとすると、下記のようなメッセージが出力されます。

数式を多用しているブックの場合、保護をかけておくことをオススメします。
ロックをかけたくないセル
ロックをかけずに入力をしたいセルには、下記の設定をしておきます。
ロックをかけない設定
STEP
保護中でも入力をしたいセルを右クリック→セルの書式設定をクリック

STEP
『保護』タブのロックのチェックを外す。(デフォルトではチェックが入っています)

ロックのチェックを外しておくことで、シート保護をしたときでも、セルに入力可能です。
『画面更新OFF/ON』コード
『画面更新OFF/ON』コードを記述することで、処理速度が格段に上昇します。
下記の記事にくわしく書きましたので、こちらをご覧ください。
あわせて読みたい


【ExcelVBA処理高速化】時間計測をして比較実験してみた
エクセルVBAの処理速度を上げる方法を教えてほしい 上記のお悩みを解決します。 本記事の内容 たった2行追加して、エクセルVBAの処理速度を上げる方法 本記事の根拠 時…
まとめ
『シート保護』と『画面更新OFF/ON』のコードは、私が作成するマクロでは必ず使用しているコードです。
今回、ご紹介した2つのマクロを使って損はないと考えています。
処理速度が上がることに加えて、ユーザーにシートを壊される心配も軽減されます。以上です。
※本記事の内容で実行された結果について、筆者は一切の責任を負いませんので、ご了承ください。 必ず自己責任で実行してください。