2011年12月4日日曜日

[ExcelVBA] Format関数


■構文
Format(expression[, format[, firstdayofweek[, firstweekofyear]]])

■説明
日付/時刻、数値/通貨、文字列を指定したフォーマットに変換し返します。
第一引数:変換したいデータを指定
第二引数:(省略可能)変換したいフォーマットを指定。フォーマットについてはサンプルコード参照。
第三引数:(省略可能)週の初めの日を何曜日にするか指定。省略した場合は日曜日
定数内容
vbUseSystem0NLS APIの設定値を使います
vbSunday1(規定値)日曜
vbMonday2月曜
vbTuesday3火曜
vbWednesdasy4水曜
vbThursday5木曜
vbFriday6土曜
vbSaturday7日曜
第四引数:(省略可能)年の始めの週を何周目にするか指定。省略した場合1月1日を含む週
定数内容
vbUseSystem0NLS APIの設定値を使います
vbFirstJan11(規定値)1月1日を含む週を年度の第一週とします。
vbFirstFourDays27日のうち少なくとも4日が新年度に含まれる週を年度の第一週としてます。
vbFirstFullWeek3全体が新年度に含まれる最初の週を年度の第一週とします。

■サンプルコード
Option Explicit

Sub SampleCode()
    Debug.Print (Format(Now, "Long Date"))   '2011年12月4日
    Debug.Print (Format(Now, "Medium Date")) '11-12-04
    Debug.Print (Format(Now, "Short Date"))  '2011/12/04
    Debug.Print (Format(Now, "Long Time"))   '21:30:27
    Debug.Print (Format(Now, "Medium Time")) '09:30 午後
    Debug.Print (Format(Now, "Short Time"))  '21:30
    
    Debug.Print (Format(123456789, "Currency"))   '\123,456,789
    Debug.Print (Format(123456789, "Fixed"))      '123456789.00
    Debug.Print (Format(123456789, "Standard"))   '123,456,789.00
    Debug.Print (Format(123456789, "Scientific")) '1.23E+08

    '0の時スラッシュの右側を返す。それ以外はスラッシュの左側を返す
    Debug.Print (Format(123456789, "Yes/No"))     'Yes
    Debug.Print (Format(0, "Yes/No"))             'No
    Debug.Print (Format(123456789, "True/False")) 'True
    Debug.Print (Format(0, "True/False"))         'False
    Debug.Print (Format(123456789, "On/Off"))     'On
    Debug.Print (Format(0, "On/Off"))             'Off

    '桁揃え
    Debug.Print (Format(12, "000"))         '012
    Debug.Print (Format("a", "@@@") & ":") '  a:
    Debug.Print (Format("a", "!@@@") & ":") 'a  :
End Sub

0 件のコメント: