HOME > 即効テクニック > Excel VBA > セル操作関連のテクニック > 数式を数式バーに表示させないようにする(FormulaHiddenプロパティ)

数式を数式バーに表示させないようにする(FormulaHiddenプロパティ)|Excel VBA

セル操作関連のテクニック

数式を数式バーに表示させないようにする(FormulaHiddenプロパティ)

(Excel 2000/2002/2003/2007/2010)

シートを保護し、セルの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に設定されていると、数式は非表示になりますが、クリア可能になってしまいます。
数式を保護するには、セルのロックやシートの保護とセットで使用し、パスワードは忘れないようにしましょう。