この記事では、Excelのセルの表示形式をVBAで日付・時刻・文字列・ユーザー定義に設定する方法を説明します。それぞれについて、実際のVBAコードも紹介します。
実際のExcelを使った業務でも、セルの表示形式を日付や時刻、文字列に設定する機会は多いと思われますので、VBAでの設定方法もしっかりと抑えておきましょう。

なお、セルの表示形式を標準・数値・通貨・会計に設定する方法は別記事で紹介しています。

表示形式を日付に設定する
この章では、ExcelのセルA1の表示形式を日付に設定するVBAコードを紹介します。
※セルの書式設定のウィンドウはイメージのため表示しています。VBAとは直接の関係はありません。

基本構文
object . NumberFormatLocal = String
- object = 表示形式を設定するセル位置
この例では、A1です - NumberFormatLocal = 表示形式を設定する定型文
(Valueは値を代入するプロパティです) - String = 表示形式を指定
Rangeプロパティ
Sub Sample()
Range(“A1”) .NumberFormatLocal = “yyyy/m/d”
End Sub
Cellsプロパティ
Sub Sample()
Cells( 1, 1 ) .NumberFormatLocal = “yyyy/m/d”
End Sub
日付のString一覧
Excelの書式設定に対応するString(コード)を一覧で紹介します。
※赤字の箇所
object . NumberFormatLocal = String

日付の 表示形式 | 種類 |
2012/3/14 | = “yyyy/m/d” |
2012年3月14日 | = “[$-x-sysdate]dddd, mmmm dd, yyyy” |
2012-03-14 | = “yyyy-mm-dd;@” |
2012年3月 | = “yyyy””年””m””月””;@” |
3月14日 | = “m””月””d””日””;@” |
3/14 | = “m/d;@” |
3/14/12 | = “m/d/yy;@” |
表示形式を時刻に設定する
この章では、ExcelのセルA1の表示形式を時刻に設定するVBAコードを紹介します。
※セルの書式設定のウィンドウはイメージのため表示しています。VBAとは直接の関係はありません。

基本構文
object . NumberFormatLocal = String
- object = 表示形式を設定するセル位置
この例では、A1です - NumberFormatLocal = 表示形式を設定する定型文
(Valueは値を代入するプロパティです) - String = 表示形式を指定
Rangeプロパティ
Sub Sample()
Range(“A1”) .NumberFormatLocal = “[$-x-systime]h:mm:ss AM/PM”
End Sub
Cellsプロパティ
Sub Sample()
Cells( 1, 1 ) .NumberFormatLocal = “[$-x-systime]h:mm:ss AM/PM”
End Sub
時刻のString一覧
Excelの書式設定に対応するString(コード)を一覧で紹介します。
※赤字の箇所
object . NumberFormatLocal = String

時刻の 表示形式 | 種類 |
13:30:55 | = “[$-x-systime]h:mm:ss AM/PM” |
13:30 | = “h:mm;@” |
1:30 PM | = “[$-en-US]h:mm AM/PM;@” |
1:30:55 PM | = “[$-en-US]h:mm:ss AM/PM;@” |
13時30分 | = “h””時””mm””分””;@” |
13時30分55秒 | = “h””時””mm””分””ss””秒””;@” |
表示形式を文字列に設定する
この章では、ExcelのセルA1の表示形式を文字列に設定するVBAコードを紹介します。
※セルの書式設定のウィンドウはイメージのため表示しています。VBAとは直接の関係はありません。

基本構文
object . NumberFormatLocal = String
- object = 表示形式を設定するセル位置
この例では、A1です - NumberFormatLocal = 表示形式を設定する定型文
(Valueは値を代入するプロパティです) - String = 表示形式を指定
Rangeプロパティ
Sub Sample()
Range(“A1”) .NumberFormatLocal = “@”
End Sub
Cellsプロパティ
Sub Sample()
Cells( 1, 1 ) .NumberFormatLocal = “@”
End Sub
時刻のString一覧
Excelの書式設定に対応するString(コード)を一覧で紹介します。
※赤字の箇所
object . NumberFormatLocal = String

時刻の 表示形式 | 種類 |
G/標準 | = “G/標準” |
0.00 | = “0.00” |
#,##0.00 | = “#,##0.00” |
0% | = “0%” |
0.00% | = “0.00%” |
yyyy/m/d h:mm | = “yyyy/m/d h:mm” |
mm:ss.0 | = “mm:ss.0” |
表示形式をユーザー定義に設定する
この章では、ExcelのセルA1の表示形式をユーザー定義に設定するVBAコードを紹介します。
※セルの書式設定のウィンドウはイメージのため表示しています。VBAとは直接の関係はありません。

基本構文
object . NumberFormatLocal = String
- object = 表示形式を設定するセル位置
この例では、A1です - NumberFormatLocal = 表示形式を設定する定型文
(Valueは値を代入するプロパティです) - String = 表示形式を指定
Rangeプロパティ
Sub Sample()
Range(“A1”) .NumberFormatLocal = “G/標準”
End Sub
Cellsプロパティ
Sub Sample()
Cells( 1, 1 ) .NumberFormatLocal = “G/標準”
End Sub
Stringのコードの調べ方
この記事では一部のStringコードを紹介しましたが、他の形式(種類)をVBAで設定したい場合には、Excelの「マクロの記録」機能を使って、VBEで調べることができます。
