HOME > 即効テクニック > Excel VBA > 関数関連のテクニック > 日付・時刻形式の書式に変換した値を返す(FormatDateTime関数)

日付・時刻形式の書式に変換した値を返す(FormatDateTime関数)|Excel VBA

関数関連のテクニック

日付・時刻形式の書式に変換した値を返す(FormatDateTime関数)

(Excel 2000/2002/2003/2007/2010)

FormatDateTime関数関数は、コントロールパネルの[地域のプロパティ]の[日付]および[時刻]タブで設定されている書式を使って、日付形式か時刻形式の文字列を返します。引数NamedFormatには、次の一覧に示す定数を使用します。

構文 FormatDateTime(Expression, NamedFormat) 
設定項目内容
Expression 変換の対象となる日付や時刻を指定[省略不可]
NamedFormat 変換に用いる書式を示す定数を指定[省略可能]

引数NamedFormatで指定する引数一覧(VbDateTimeFormat列挙体のメンバ)

定数説明
vbGeneralDate 0 日付か時刻、または両方を表示。日付部がある場合は、日付を短い形式で表示する。時刻部がある場合は、時刻を長い形式で表示する。両方がある場合は、両方とも表示する。
vbLongDate 1 [地域のプロパティ] で指定されている長い形式で日付を表示する。
vbShortDate 2 [地域のプロパティ] で指定されている短い形式で日付を表示する。
vbLongTime 3 [地域のプロパティ] で指定されている形式で時刻を表示する。
vbShortTime 4 24 時間形式 (hh:mm) で時刻を表示する。

次のサンプルは、FormatDateTime関数と同等の機能をFormat関数で実現できることを示すものです。

●サンプル●

Sub Sample1()
    Dim myStr1 As String, myStr2 As String
    
    '---Format関数で定義済み数値書式を使用
    myStr1 = Format(#6/10/2012 3:30:45 AM#, "General Date")

    '---FormatDateTime関数
    myStr2 = FormatDateTime(#6/10/2012 3:30:45 AM#, vbGeneralDate)

    MsgBox "定義済み数値書式 : " & myStr1 & vbCrLf & _
           "FormatDateTime関数 : " & myStr2
End Sub