本記事はエクセル2019で動作確認を行っています。
ご自身でVBAを記入することが、マクロ習得への近道です。

本記事ではこのような疑問にお答えします。
これからVBAを学ぶ方がスムーズに学習を進められる手助けをしていきます。

もちろん、エクセルで使用するセルの書式設定もVBAで記述可能です。
今回はセルの書式設定の中の「表示形式」について解説します。
セルの表示形式を設定する方法
セルの表示形式とは、
エクセル「セルの書式設定」>「表示形式」>「ユーザー定義」で設定できる内容
のことで、数値や日付などを見やすく設定する方法です。
<記述方法>
オブジェクト.NumberFormatLocal=”ユーザー定義”
ユーザー定義の内容を「”(ダブルクォーテーション)」で囲むことでセルに入力されているデータの表示形式を指定することができます。
ユーザー定義は様々な設定が存在しますが、一例を以下に紹介しておきます。
セルの表示形式サンプル
<数値>
(条件:A列とB列同じ内容を入力しておき、以下のコードを実行した結果)
Sub 数値表示形式() Range("B2").NumberFormatLocal = "###0" Range("B3").NumberFormatLocal = "0000" Range("B4").NumberFormatLocal = "#,##0" Range("B5").NumberFormatLocal = "00.00" Range("B6").NumberFormatLocal = "¥#,##0" Range("B7").NumberFormatLocal = "0%" End Sub
<日付や時刻>
(条件:A列とB列同じ内容を入力しておき、以下のコードを実行した結果)
Sub 日付時刻表示形式() Range("B2").NumberFormatLocal = "yyyy" Range("B3").NumberFormatLocal = "yy" Range("B4").NumberFormatLocal = "mmmm" Range("B5").NumberFormatLocal = "mmm" Range("B6").NumberFormatLocal = "mm" Range("B7").NumberFormatLocal = "m" Range("B8").NumberFormatLocal = "dd" Range("B9").NumberFormatLocal = "d" Range("B10").NumberFormatLocal = "dddd" Range("B11").NumberFormatLocal = "ddd" Range("B12").NumberFormatLocal = "aaaa" Range("B13").NumberFormatLocal = "aaa" Range("B14").NumberFormatLocal = "ggg" Range("B15").NumberFormatLocal = "gg" Range("B16").NumberFormatLocal = "g" Range("B17").NumberFormatLocal = "ee" Range("B18").NumberFormatLocal = "e" Range("B19").NumberFormatLocal = "hh" Range("B20").NumberFormatLocal = "h" Range("B21").NumberFormatLocal = "mm" Range("B22").NumberFormatLocal = "m" Range("B23").NumberFormatLocal = "ss" Range("B24").NumberFormatLocal = "s" End Sub
<色>
(条件:数値がプラスの時「青」、マイナスの時「赤」、0の時「黒」の表示方法)
Sub 色表示形式() Range("B2").NumberFormatLocal = "[青]###0;[赤]-###0;[緑]0" Range("B3").NumberFormatLocal = "[青]###0;[赤]-###0;[緑]0" Range("B4").NumberFormatLocal = "[青]###0;[赤]-###0;[緑]0" End Sub
<表示形式を標準に戻す方法>
オブジェクト.NumberFormatLocal="G/標準"
で標準表示に戻すことができます。
まとめ
今回セルの表示方法を見てきました。
手順としては、
1.エクセルの表示形式からユーザー設定を確認する。
2.ユーザー設定で希望の表示方法を確認する。
3.VBAのNumberFormatLocalプロパティを使用して、コードを記述する。
となります。
エクセルのセルの書式設定には他にも、
もVBAで操作可能ですので、あわせて知っておきましょう。
最後まで目を通していただきありがとうございます。