2013-12-06
ExcelVBA覚書 ロック関連と数式セル判断
なんだかんだで、Zoo Keeper対戦中。
文句言ってても、結局すきなんだろぉ~・・・えぇ好きです(ポッ)、と下らん一人芝居をしたところで、メモ。
‘———————————————————
まずは、Excelマクロのロックあれこれ。
Const LOCK_PW as String = "pw" Dim wb as Workbook Dim ws as Worksheet Dim rng as Range
と仮設定して・・・
‘ブックのロック/ロック解除
wb.Protect LOCK_PW 'ロック wb.UnProtect LOCK_PW '解除
‘シートのロック/ロック解除
If Not ws.ProtectContents Then ws.Protect LOCK_PW , AllowFiltering:=True 'ロック If ws.ProtectContents Then ws.UnProtect LOCK_PW '解除
(ロックしてもオートフィルターは使えるようにしといたほうが無難)
‘セルのロック/ロック解除
rng.Locked = True 'ロック rng.Locked = False '解除
シートはロックされているかどうか確認するプロパティがあるので、ロックがかかっていなければロックをかけるようにしないと、Excel2013ではロック・ロック解除に時間がかかるので、無駄に時間を食うロジックになってしまう。
セルロックはセルのロックをかけてもシートロックかけてないと有効にはならないので注意。
‘———————————————————
‘セルが数式なのかどうか
If rng.HasFormula Then '数式です! Else '数式じゃありません! End If