教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA セル操作】セルのロックを設定又は設定解除(Locked)するにはどうすればいいの?教えて!

構文

構文は以下の通りです。

Worksheets("シート名").Cells(行, 列).Locked = True / False

解説

Lockedプロパティは、セルのロック状態を取得または設定するのに使用されます。セルがロックされている場合、そのセルに対して編集を行うことができません。一方で、セルがロックされていない場合は、セルの値や書式を変更することが可能です。シート名には、ロック対象のセルが存在するシートを指定します。Cells(行, 列)には、ロック対象のセルを指定し、行と列はセルの行番号と列番号を指定します。Trueを指定するとロックされ、Falseを指定するとロック解除されます。

使い方

具体的な使い方を紹介します。

1.セルのロック

特定セルをロックします。

Sub LockCell()
    Worksheets("Sheet1").Cells(2, 2).Locked = True
End Sub

2.セルのロック解除

特定セルのロックを解除します。

Sub UnlockCell()
    Worksheets("Sheet1").Cells(2, 2).Locked = False
End Sub

プログラミング例

以下は、セルB2のロック状態を切り替えるプログラムとなります。実行する度にセルロックの設定/解除が交互に実行されます。

Private Sub ToggleLock_Click()
    If Worksheets("Sheet1").Cells(2, 2).Locked = True Then
        Worksheets("Sheet1").Cells(2, 2).Locked = False
        MsgBox "セルB2がロック解除されました。"
    Else
        Worksheets("Sheet1").Cells(2, 2).Locked = True
        MsgBox "セルB2がロックされました。"
    End If
End Sub

まとめ

Lockedプロパティを使うことで、セルのロック状態を制御できることができます。セルのロックは、データのセキュリティや保護を目的として使用されます。特定のセルをロックすることで、誤ってデータを変更したり、数式を上書きしたりするリスクを軽減することができます。是非活用してください。