シートの保護解除/保護
保護されているシートを操作するマクロを実行しようとすると、
「保護されているからできません!」
とエラーが出てしまう時の対処法。
まずは最初にシートの保護を解除
ActiveSheet.Unprotect 'シート保護解除
色々な操作が終了したところで
- ロックされたセル範囲の選択
- ロックされていないセル範囲の選択
ができる状態にして保護します。
ActiveSheet.Protect 'シート保護
または
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True 'シート保護
しかし、上記の保護方法では並び替えなどができなくなってしまいます。
特にテーブルなどが入っているシートでは不便。
そんな時は、
- ロックされたセル範囲の選択
- ロックされていないセル範囲の選択
の他に
- 並べ替え
- オートフィルターの使用
ができるように後ろに条件を付け加えればOKです。
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _ , AllowSorting:=True, AllowFiltering:=True 'シート保護
※ AllowSorting:=True 並べ替え可
※ AllowFiltering:=True オートフィルター可