シートが保護されているとき、FormulaHiddenプロパティをTrueに設定されたセルでは、そのセルを選択しても、数式バーに何も表示されなくなります。そのセルに対してはFormulaプロパティを参照することもできなくなりますので、マクロを使用して数式を確認することもできません。数式を外部に漏らしたくないような場合に使用すると良いでしょう。
構文 Object.FormulaHidden 設定/取得
設定項目 内容
Object Rangeオブジェクト
次のサンプルは、数式の入力されたセルのFormulaHiddenプロパティを全てTrueにした後、ワークシートを保護します。
●サンプル●
Sub FormulaHiddenSamp1()
ActiveSheet.Unprotect password:="abcd" '----シートの保護解除
Cells.FormulaHidden = False '----(1)
ActiveSheet.UsedRange.SpecialCells( _
Type:=xlCellTypeFormulas).FormulaHidden = True '----(2)
ActiveSheet.Protect password:="abcd" '----シートの保護
End Sub
(1)のプロパティで全セルのFormulaHiddenプロパティを規定値のFalseに設定した後、(2)のステートメントで数式が入力されているセルのFormulaHiddenプロパティだけをTrueに設定し、シートに保護をかけています。
最初にシートの保護を解除しているのは、シートに保護がかかっている状態ではLockedプロパティの値も設定できないためです。
●注意●
LockedプロパティをFalse、FormulaHiddenプロパティをTrueにした状態においては、編集状態になった時点で数式や値はクリアされてしまいます。シート保護のパスワードは絶対に忘れないようにしましょう。