数式を数式バーに表示させないようにする(FormulaHiddenプロパティ)|Excel VBA |
シートを保護し、セルのFormulaHiddenプロパティにTrueを設定すると、そのセルを選択しても数式バーには何も表示されなくなります。そのセルに対してはFormulaプロパティを参照することもできなくなるので、マクロを使用して数式を確認することもできません。
数式を外部に漏らしたくない場合などに使用すると良いでしょう。
構文 Object.FormulaHidden 設定/取得
設定項目 | 内容 |
---|---|
Object | Rangeオブジェクト |
次のサンプルは、数式が入力されたセルのFormulaHiddenプロパティをすべてTrueにした後、ワークシートを保護します。
Sub Sample()
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に設定し、シートに保護をかけています。
最初にシートの保護を解除しているのは、シートに保護がかかっている状態ではFormulaHiddenプロパティの設定ができないためです。
●注意●
FormulaHiddenプロパティをTrueにしても、数式が非表示になるのはワークシートが保護されているときだけです。
またその場合でも、LockedプロパティがFalseに設定されていると、数式は非表示になりますが、クリア可能になってしまいます。
数式を保護するには、セルのロックやシートの保護とセットで使用し、パスワードは忘れないようにしましょう。