(Excel VBA) シートのゼロ値(0)を表示および非表示にするトグルマクロ
「シートのゼロ値を表示する または 表示しない設定」は「ファイル」タブから「オプション」を開き、「詳細設定」の中に項目があり、設定(オン/オフ)を切り替えるのが大変煩わしいです。
そこで、VBAマクロを組んで「ゼロ値のオン/オフ」を簡単に切り替えられるボタンを作成してみましょう。
ゼロ値の表示および非表示を設定するコード
WindowオブジェクトのDisplayZerosプロパティで設定します。値はBoolean型(True, False)です。
' *** ゼロ値を表示する *** ActiveWindow.DisplayZeros = True ' *** ゼロ値を表示しない *** ActiveWindow.DisplayZeros = False
(応用) ゼロ値の表示・非表示トグルのコード
DisplayZerosは値の取得も可能なので、現在の状態を取得して、逆の値を入れるというものです。
Sub ToggleDisplayZeros() ' *** ゼロ値の表示・非表示トグル *** Dim DZ As Boolean DZ = ActiveWindow.DisplayZeros If DZ = False Then ActiveWindow.DisplayZeros = True Else ActiveWindow.DisplayZeros = False End If End Sub
設定はシートごとに反映される
Windowオブジェクトに対するプロパティなのでWindow全体に適用されるようにも思えますが、実際はアクティブなシートのみに適用されます。アクティブでは無いシートに適用させる場合は、別途シートを複数選択してやれば適用されます。