LockedプロパティにFalseが指定されたセルでは、シートが保護されている
場合でもユーザーによる変更が可能になります。変更されたくない数式が入力
されているセル範囲のLockedプロパティはTrue、値を入力するセル範囲には
Falseを指定するといったように使用します。なお、シートが保護されていない
場合は、Lockedプロパティの値は有効なりません。
次のサンプルは、使用中のセルのうち、空白セルのみユーザーの入力を許可
します。
●サンプル●
Sub LockedSamp1()
ActiveSheet.Unprotect password:="abcd" '----シートの保護解除
Cells.Locked = True '----(1)
ActiveSheet.UsedRange.SpecialCells( _
Type:=xlCellTypeBlanks).Locked = False '----(2)
ActiveSheet.Protect password:="abcd" '----シートの保護
End Sub
●解説●
(1)のステートメントでいったん全セルのLockedプロパティをTrueにした後、
(2)のステートメントで空白セルのLockedプロパティをFalseにし、最後に
シート全体の保護をかけています。最初にシート保護を解除しているのは、
シートに保護がかかっている状態ではLockedプロパティの値も設定できない
ためです。
|