【VBA】セルをロック・解除する方法|Lockedプロパティの使い方

目次

経緯

VBAを使って、特定のセルだけをロックしたいと考え、
今回、セルのロックおよびロック解除の方法について学びました。

解決方法:Lockedプロパティを使う

Excel VBAでは、セルやシートに対して**Lockedプロパティ**を設定することで、
ロック(編集禁止)やロック解除(編集可能)をコントロールすることができます。

セルのロックを解除する方法

まず、シート内すべてのセルのロックを一旦解除するには、以下のように記述します。

ActiveSheet.Cells.Locked = False
  • ActiveSheet:現在アクティブなシート
  • Cells:シート全体のセルを対象
  • Locked = False:ロックを解除(編集可能にする)

特定のセルをロックする方法

次に、特定のセル(例:A1セル)だけをロックするには、次のように記述します。

ActiveSheet.Range("A1").Locked = True
  • Range("A1"):対象のセルを指定
  • Locked = True:ロック(編集不可)に設定する

これにより、A1セルのみが編集不可となり、その他のセルは編集可能な状態に設定されます。

※なお、セルにロック設定をしても、シート自体に保護がかかっていないとロックは有効になりません
最終的には、以下のようにシート保護も行う必要があります。

ActiveSheet.Protect

この一行を追加することで、ロック設定が反映されます。

まとめ

VBAでセルをロック・解除するには、

  • シート全体のロックを解除する → ActiveSheet.Cells.Locked = False
  • 特定のセルをロックする → ActiveSheet.Range("セル範囲").Locked = True
  • ロック設定を有効にするには → ActiveSheet.Protectでシート保護

という流れで実装できます。

これらを組み合わせることで、自由にロック対象を制御することが可能になります。

ここまでお読みいただき、誠にありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次