Excel VBA

[ExcelVBA] セルの書式設定[セルの表示形式]

2020年3月12日

 

本記事はエクセル2019で動作確認を行っています。

ご自身でVBAを記入することが、マクロ習得への近道です。

 

困ってます
エクセルでセルの書式設定を使っているけど、VBAでも同じように使用することができますか?

 

本記事ではこのような疑問にお答えします。

 

サイト運営者であるロンピー(@ronpeee0809)はExcelVBAを使用して10年以上会社部内の業務改善を行っています。

これから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で操作可能ですので、あわせて知っておきましょう。

 

最後まで目を通していただきありがとうございます。

-Excel VBA
-

Copyright© Ronpeee blog , 2023 All Rights Reserved.