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

即効テクニック

関数関連のテクニック

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

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


・引数NamedFormatで指定する引数一覧(VbDateTimeFormat)
 定数            値  説明
 VbGeneralDate   0   日付か時刻、または両方を表示。日付部がある場合は、
                    日付を短い形式で表示する。時刻部がある場合は、時刻
                     を長い形式で表示する。両方がある場合は、両方とも表示する。
 VbLongDate      1   [地域のプロパティ] で指定されている長い形式で日付を表示する。
 VbShortDate     2   [地域のプロパティ] で指定されている短い形式で日付を表示する。
 VbLongTime      3   [地域のプロパティ] で指定されている形式で時刻を表示する。
 VbShortTime     4   24 時間形式 (hh:mm) で時刻を表示する。


  構文 FormatDateTime(Date, NamedFormat) 

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


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

●サンプル●
Sub FormatDateTimeSamp1()
    Dim myStr1 As String, myStr2 As String
    myStr1 = Format(#6/10/2001 3:30:45 AM#, "General Date")
    '---Format関数で定義済み数値書式使用
    myStr2 = FormatDateTime(#6/10/2001 3:30:45 AM#, vbGeneralDate)
    '---FormatDateTime関数
    MsgBox "定義済み数値書式 : " & myStr1 & Chr(13) & _
           "FormatDateTime関数 : " & myStr2
End Sub