大体でIT
大体でIT
Excel VBAでセルの表示形式を日付や数値に変換する方法をご紹介します。日付や数値以外にも、よく使いそうな表示形式をまとめましたので、ド忘れしちゃったというような場合にご活用ください。
この記事では、Excel VBAを使って表示形式を日付や数値に変換する方法についてご紹介します。
よく使いそうな表示形式を記載していますので、使いたい表示形式だけをチェックするといいかと思います。
初めに、ポイントとなるVBAコードを記載しておきます。
'表示形式の変更
'標準
.Cells(1, 1).NumberFormatLocal = "G/標準"
'日付
.Cells(1, 1).NumberFormatLocal = "yyyy/mm/dd" '西暦
.Cells(1, 1).NumberFormatLocal = "yyyy年mm月dd日" '長い西暦
.Cells(1, 1).NumberFormatLocal = "ggge年mm月dd日" '和暦
.Cells(1, 1).NumberFormatLocal = "yyyy/mm/dd(aaa)" '曜日を追加
.Cells(1, 1).NumberFormatLocal = "yyyy/mm/dd hh:mm:ss" '時刻を追加
'時刻
.Cells(1, 1).NumberFormatLocal = "hh時mm分dd秒" '長い時刻
.Cells(1, 1).NumberFormatLocal = "hh:mm:dd" '短い時刻
'数値
.Cells(1, 1).NumberFormatLocal = "#0.000" '小数点
.Cells(1, 1).NumberFormatLocal = "#,##0" '桁区切り
'通貨
.Cells(1, 1).NumberFormatLocal = "\#,##0" '\で表示
.Cells(1, 1).NumberFormatLocal = "#,##0円" '円で表示
'文字列
.Cells(1, 1).NumberFormatLocal = "@" '文字列
'表示形式のコピー
a = .Cells(1, 1).NumberFormatLocal
.Cells(2, 1).NumberFormatLocal = a
だいたい使い方はわかるけどコードを忘れた、という場合にご活用ください。
セルの表示形式は、『NumberFormatLocal』で設定できます。
では、表示形式について、具体例をあげて説明していきます。
VBAのNumberFormatLocalで表示形式を標準にする
セルの表示形式を標準にするには、『G/標準』とするとできます。
Sub TEST1()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "G/標準" '標準
End With
End Sub
標準にする
VBAのNumberFormatLocalで表示形式を日付にする
セルの表示形式を西暦にするには、『"yyyy/mm/dd"』とするとできます。
Sub TEST2()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "yyyy/mm/dd" '西暦
End With
End Sub
短い日付の西暦
セルの表示形式を長い西暦の日付にするには、『"yyyy年mm月dd日"』とするとできます。
Sub TEST3()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "yyyy年mm月dd日" '長い西暦
End With
End Sub
長い日付の西暦
セルの表示形式を和暦にするには、『"ggge年mm月dd日"』とするとできます。
Sub TEST4()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "ggge年mm月dd日" '和暦
End With
End Sub
和暦
セルの表示形式を曜日を付けた日付にするには、『"yyyy/mm/dd(aaa)"』とするとできます。
Sub TEST5()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "yyyy/mm/dd(aaa)" '曜日をつける
End With
End Sub
曜日もつける
セルの表示形式を時刻を付けた日付にするには、『"yyyy/mm/dd hh:mm:ss"』とするとできます。
Sub TEST6()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "yyyy/mm/dd hh:mm:ss" '時刻をつける
End With
End Sub
日付に時刻をつける
VBAのNumberFormatLocalで表示形式を時刻にする
Excel VBAのNumberFormatLocalで表示形式を時刻にする方法です。
セルの表示形式を長い時刻にするには、『"hh時mm分ss秒"』とするとできます。
Sub TEST7()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "hh時mm分dd秒" '長い時刻
End With
End Sub
長い時刻
セルの表示形式を短いにするには、『"hh:mm:ss"』とするとできます。
Sub TEST8()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "hh:mm:dd" '短い時刻
End With
End Sub
短い時刻
VBAのNumberFormatLocalで表示形式を数値にする
Excel VBAのNumberFormatLocalで表示形式を数値にする方法です。
セルの表示形式を小数点第3位までの数値にするには、『"#0.000"』とするとできます。
Sub TEST9()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "#0.000" '小数点第3位
End With
End Sub
小数点第3位
セルの表示形式を、桁区切りをした数値にするには、『"#,##0"』とするとできます。
Sub TEST10()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "#,##0" '桁区切り
End With
End Sub
桁区切り
VBAのNumberFormatLocalで表示形式を通貨にする
Excel VBAのNumberFormatLocalで表示形式を通貨にする方法です。
セルの表示形式を『\』の通貨にするには、『"\#,##0"』とするとできます。
Sub TEST11()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "\#,##0" '\の通貨
End With
End Sub
\の通貨
セルの表示形式を円の通貨にするには、『"#,##0円"』とするとできます。
Sub TEST12()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "#,##0円" '円の通貨
End With
End Sub
円の通貨
VBAのNumberFormatLocalで表示形式を文字列にする
Excel VBAのNumberFormatLocalで表示形式を文字列にする方法です。
数字を文字列の表示形式にするには、表示形式を『"@"』にしたあとに、セルに数字を入力します。
Sub TEST13()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "@" '文字列にする
.Cells(1, 1) = "01"
End With
End Sub
数字を文字列にする
先ほどと同じで、日付を文字列の表示形式にするには、表示形式を『"@"』にしたあとに、セルに日付を入力します。
Sub TEST14()
With ActiveSheet
.Cells(1, 1).NumberFormatLocal = "@" '文字列にする
.Cells(1, 1) = "2020/1/1"
End With
End Sub
日付を文字列にする
NumberFormatLocalで表示形式をコピーする
Excel VBAのNumberFormatLocalで表示形式をコピーする方法です。
すでに入力されているセルの表示形式を別セルにも使いたい、という場合に使えます。
- ①日付の表示形式をコピーする
- ②セルに表示形式を貼り付ける
Sub TEST15()
With ActiveSheet
a = .Cells(1, 1).NumberFormatLocal '表示形式をコピー
.Cells(2, 1).NumberFormatLocal = a '表示形式を貼り付け
End With
End Sub
日付の表示形式をコピー
数値の表示形式をコピーするには、先ほどと同じように、
- ①数値の表示形式をコピーする
- ②セルに表示形式を貼り付ける
Sub TEST16()
With ActiveSheet
a = .Cells(1, 1).NumberFormatLocal '表示形式をコピー
.Cells(2, 1).NumberFormatLocal = a '表示形式を貼り付け
End With
End Sub
数値の表示形式をコピー
この記事では、Excel VBAを使って表示形式を日付や数値に変換する方法についてご紹介しました。
よく使いそうな表示形式を記載しましたので、度忘れしちゃったときにこちらの記事ご活用ください。
参考になればと思います。最後までご覧くださいましてありがとうございました。