2016-01-20
ExcelVBA覚書 シート保護
シートを保護する、解除するというのは、
Worksheets(“Sheet1”).Protect
Worksheets(“Sheet1”).Unprotect
という、メンバー(サブプロシージャ)でできるのだが、Protectするときの引数に、「UserInterfaceOnly」というのがあり、これをTrueにしておけば、シート保護の解除をしなくても、マクロでシート上のデータを変えられるそうな。
Worksheets("Sheet1").Protect UserInterfaceOnly:=True
なので、いままでわざわざシート保護を解除して処理をしていた自分が情けなくなった。
(何年VBA使ってんだよ!と自分を責めてみる。)
まだまだ知らないことがあるなぁ。
この引数を指定しない場合は、ちゃんと保護解除をしてから触ること。