関数・メソッド

セルをロックする【Lockedプロパティ】【ExcelVBA】

構文

Object.Locked = Expression

Object・・・・・対象セルのオブジェクト(Rangeオブジェクト、Cellsオブジェクト)
Expression
・・・True:対象セルをロックする、False:対象セルをロック解除する
対象セルの Locked プロパティを変更することで、セルをロックしたり、ロック解除します。
True に設定すれば、ワークシートを保護した場合に対象セルのデータ変更不可にします。
注意点として、シートが保護されているとLockedプロパティを変更できません。
そのため、このプロパティを使用するときは、基本以下の流れで処理を行います。
①シートの保護を解除する
②指定セルの Locked プロパティを変更する
②シートを保護する

Lockedプロパティのサンプルコード

Public Sub sample()

    '■アクティブシートの保護解除→全セルのロックを解除
    ActiveSheet.Unprotect
    ActiveSheet.Cells.Locked = False
    
    '■アクティブシートのA1セルをロックする
    ActiveSheet.Range("A1").Locked = True
        
    '■アクティブシートを保護する
    ActiveSheet.Protect
End Sub

注意点

  • 対象セルのシートが保護されている状態でLockedプロパティの設定を変更しようとすると以下のエラーが発生します。
     実行時エラー’1004′: アプリケーション定義またはオブジェクト定義のエラーです。
  • ワークシートは、デフォルトで全セルの Locked プロパティが True に設定されています。

関連記事

 

コメント

タイトルとURLをコピーしました