【ExcelVBA】マクロによるシートの保護

2018年8月2日

ExcelVBAを使用したシートの保護の仕方について説明します。

シートの保護

Sheet1.Protect

シートを保護できます。

シートの保護解除

Sheet1.Unprotect

保護されているシートの保護を解除できます。

パスワード付きの場合の保護

上記方法はパスワードをつけない場合の保護/解除になります。パスワード付きの保護/解除をする場合はPasswordオプションを使用します。

パスワード付き保護

Sheet1.Protect Password:="abc123"

シートをパスワード(abc123)付きで保護できます。

パスワード付き保護解除

Sheet1.Unprotect Password:="abc123"

パスワード(abc123)付きで保護されているシートの保護を解除できます。

画面上からの変更のみ保護

保護されているシートはユーザだけでなく、マクロからも操作することができません。ユーザの操作は制限しつつ、マクロからは操作できるようにするにはUserInterfaceOnlyオプションを使用します。

Sheet1.Protect UserInterfaceOnly:=True

シートをユーザの画面上からの操作のみできないように保護できます。

パスワード付き、かつ画面上からの変更のみ保護

上記で紹介したオプションは同時に使用することができます。そうすることで、パスワード付きでユーザの画面上からの操作を制限することができます。

Sheet1.Protect Password:="abc123", UserInterfaceOnly:=True

シートをパスワード(abc123)付き、かつユーザの画面上からの操作のみできないように保護できます。

おしまい。