日本語入力ソフトとVBAの覚え書き

・各種日本語入力ソフトの辞書解説 ・ちょっと楽になるExcel VBA集

(Excel VBA) シートのゼロ値(0)を表示および非表示にするトグルマクロ

f:id:dz_dzone:20170724134148j:plain

「シートのゼロ値を表示する または 表示しない設定」は「ファイル」タブから「オプション」を開き、「詳細設定」の中に項目があり、設定(オン/オフ)を切り替えるのが大変煩わしいです。

f:id:dz_dzone:20170912154343j:plain
f:id:dz_dzone:20170912154356j:plain

そこで、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全体に適用されるようにも思えますが、実際はアクティブなシートのみに適用されます。アクティブでは無いシートに適用させる場合は、別途シートを複数選択してやれば適用されます。

マクロをボタンに設定する

マクロをボタンに設定する方法はこちらの記事をご覧下さい。
dz11.hatenadiary.jp

以上。

にほんブログ村 IT技術ブログ VBAへ←記事を気に入って頂けたらポチッとしてもらえると励みになります。