Excel VBA 関数 Formatでデータを特定書式の文字列に変換する28種類のコード

 

Excel VBAのFormat関数は、数値や日付などのデータを特定の書式で文字列に変換する際に使用します。サンプルコードをもとに28種類の使い方を具体的に解説します。

 

Format関数の使い方

Format関数の定数

#
任意の数字を表します。0-9の数字があれば表示され、数字がなければ空白が表示されます。
Format(12345.6789, "###")

0
0を含む数字を表します。数字がない場合、0が表示されます。
Format(123.45, "000.00")

,
桁区切り記号を表します。
Format(1234567, "#,###")

yy
年を2桁で表します。
Format(Date, "yy")

yyyy
年を4桁で表します。
Format(Date, "yyyy")

m
月を表します。1桁の場合は1桁で表示します。
Format(Date, "m")

mm
月を表します。2桁の場合はゼロ埋めします。
Format(Date, "mm")

d
日を表します。1桁の場合は1桁で表示します。
Format(Date, "d")

dd
日を表します。2桁の場合はゼロ埋めします。
Format(Date, "dd")

aaa
曜日名を1文字で表します(例 日, 月)。
Format(Date, "aaa")

aaaa
曜日名を3文字で表します。
Format(Date, "aaaa")

ddd
英語の曜日名を3文字で表します(例 Mon, Tue)
Format(Date, "ddd")

dddd
英語の曜日名で表します。
Format(Date, "dddd")

ww
年の何週目を表します。
Format(Date, "ww")

y
1年の何日目を表します。
Format(Date, "y")

oooo
月の名前を表します。
Format(Date, "oooo")

q
四半期を表します。
Format(Date, "q")

g
年号をアルファベットで表します。
Format(Date, "g")

gg
年号の先頭1文字で表します。
Format(Date, "gg")

ggg
年号を表します。
Format(Date, "ggg")

e
和暦年を表します。
Format(Date, "e")

ee
和暦年を表します。1桁の場合は0が先頭につきます
Format(Date, "ee")

h
時間を表します。
Format(Time, "h")

hh
時間を2桁のゼロ埋めで表します。
Format(Time, "hh")

m
分を表します。
Format(Time, "m")

mm
分を2桁のゼロ埋めで表します。
Format(Time, "mm")

s
秒を表します。
Format(Time, "s")

ss
秒を2桁のゼロ埋めで表します。
Format(Time, "ss")

 

'#: 任意の数字を表します。0-9の数字があれば表示され、数字がなければ空白が表示されます。
  Dim formattedNumber As String
  formattedNumber = Format(12345.6789, "###") ' formattedNumber は "12345" になります

'0: 0を含む数字を表します。数字がない場合、0が表示されます。
  Dim formattedNumberZero As String
  formattedNumberZero = Format(123.45, "000.00") ' formattedNumberZero は "123.45" になります

',: 桁区切り記号を表します。
  Dim formattedNumberComma As String
  formattedNumberComma = Format(1234567, "#,###") ' formattedNumberComma は "1,234,567" になります

'yy: 年を2桁で表します。
  Dim formattedYear As String
  formattedYear = Format(Date, "yy") ' formattedYear は "22" のように現在の年の下2桁になります

'yyyy: 年を4桁で表します。
  Dim formattedFullYear As String
  formattedFullYear = Format(Date, "yyyy") ' formattedFullYear は "2022" のように現在の年の4桁表記になります

'm: 月を表します。1桁の場合は1桁で表示します。
  Dim formattedMonth As String
  formattedMonth = Format(Date, "m") ' formattedMonth は "1" から "12" のいずれかになります

'mm: 月を表します。2桁の場合はゼロ埋めします。
  Dim formattedTwoDigitMonth As String
  formattedTwoDigitMonth = Format(Date, "mm") ' formattedTwoDigitMonth は "01" から "12" のいずれかになります
  
'd: 日を表します。1桁の場合は1桁で表示します。
  Dim formattedDay As String
  formattedDay = Format(Date, "d") ' formattedDay は "1" から "31" のいずれかになります

'dd: 日を表します。2桁の場合はゼロ埋めします。
  Dim formattedTwoDigitDay As String
  formattedTwoDigitDay = Format(Date, "dd") ' formattedTwoDigitDay は "01" から "31" のいずれかになります

'aaa: 曜日名を1文字で表します(例: 日, 月)。
  Dim formattedAbbreviatedDay As String
  formattedAbbreviatedDay = Format(Date, "aaa") ' formattedAbbreviatedDay は "日", "月" のような1文字の曜日になります

'aaaa: 曜日名を3文字で表します。
  Dim formattedFullDay As String
  formattedFullDay = Format(Date, "aaaa") ' formattedFullDay は "日曜日", "月曜日" になります

'ddd: 英語の曜日名を3文字で表します(例: Mon, Tue)。
  Dim formattedAbbreviatedDay3 As String
  formattedAbbreviatedDay3 = Format(Date, "ddd") ' formattedAbbreviatedDay3 は "Mon", "Tue" のような3文字の曜日になります

'dddd: 英語の曜日名で表します。
  Dim formattedFullDayd As String
  formattedFullDayd = Format(Date, "dddd") ' formattedFullDayd は "Monday", "Tuesday" になります

'ww: 年の何週目を表します。
  Dim formattedWeekOfYear As String
  formattedWeekOfYear = Format(Date, "ww") ' formattedWeekOfYear は "01" から "53" の週番号になります

'y: 1年の何日目を表します。
  Dim formattedYearShort As String
  formattedYearShort = Format(Date, "y") ' formattedYearShort は "1" から "365" の日になります

'oooo: 月の名前を表します。
  Dim formattedtukiname As String
  formattedtukiname = Format(Date, "oooo") ' formattedtukiname は "1月" のように日本語月名になります

'q: 四半期を表します。
  Dim formattedQuarter As String
  formattedQuarter = Format(Date, "q") ' formattedQuarter は "1" から "4" の四半期番号になります
  
'g: 年号をアルファベットで表します。
  Dim formattednenngoa As String
  formattednenngoa = Format(Date, "g") ' formattednenngoa は "R" のように年号をアルファベット表記になります

'gg: 年号の先頭1文字で表します。
  Dim formattednenngo1 As String
  formattednenngo1 = Format(Date, "gg") ' formattednenngo1 は "令" のように年号の先頭1文字表記になります

'ggg: 年号を表します。
  Dim formattednenngo As String
  formattednenngo = Format(Date, "ggg") ' formattednenngo は "令和" のような年号表記になります

'e: 和暦年を表します。
  Dim formattedwarekinen As String
  formattedwarekinen = Format(Date, "e") ' formattedwarekinen は "5" のような表記になります

'ee: 和暦年を表します。1桁の場合は0が先頭につきます
  Dim formattedwarekinenee As String
  formattedwarekinenee = Format(Date, "ee") ' formattedwarekinenee は "05" のような表記になります

'h: 時間を表します。
  Dim formattedHour As String
  formattedHour = Format(Time, "h") ' formattedHour は "1" から "12" の時間を表します

'hh: 時間を2桁のゼロ埋めで表します。
  Dim formattedTwoDigitHour As String
  formattedTwoDigitHour = Format(Time, "hh") ' formattedTwoDigitHour は "01" から "12" の2桁の時間を表します

'm: 分を表します。
  Dim formattedMinute As String
  formattedMinute = Format(Time, "m") ' formattedMinute は "0" から "59" の分を表します

'mm: 分を2桁のゼロ埋めで表します。
  Dim formattedTwoDigitMinute As String
  formattedTwoDigitMinute = Format(Time, "mm") ' formattedTwoDigitMinute は "00" から "59" の2桁の分を表します

's: 秒を表します。
  Dim formattedSecond As String
  formattedSecond = Format(Time, "s") ' formattedSecond は "0" から "59" の秒を表します

'ss: 秒を2桁のゼロ埋めで表します。
  Dim formattedTwoDigitSecond As String
  formattedTwoDigitSecond = Format(Time, "ss") ' formattedTwoDigitSecond は "00" から "59" の2桁の秒を表します

Excel VBAのスキルを身につけて、仕事の効率化に貢献しませんか?

当サイトでは、Excel VBAエキスパート認定資格取得に向けた情報を提供しています。興味がある方は、ぜひ以下の問題集からチャレンジしてみてください。

 

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。