2011年12月4日日曜日

[ExcelVBA] DatePart関数


■構文
DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

■説明
指定した日付から、月や分など日時の一部を返します。
第一引数:時間間隔の単位を指定します。
設定値内容設定値内容
yyyyw週日
q四半期ww
mh
y年間通算日n
ds
第二引数:日付を指定(この日付から第一引数で指定した時間間隔に該当する部分を返す)
第三引数:(省略可能)週の初めの日を何曜日にするか指定。省略した場合は日曜日
定数内容
vbUseSystem0NLS APIの設定値を使います
vbSunday1(規定値)日曜
vbMonday2月曜
vbTuesday3火曜
vbWednesdasy4水曜
vbThursday5木曜
vbFriday6土曜
vbSaturday7日曜
第四引数:(省略可能)年の始めの週を何周目にするか指定。省略した場合1月1日を含む週
定数内容
vbUseSystem0NLS APIの設定値を使います
vbFirstJan11(規定値)1月1日を含む週を年度の第一週とします。
vbFirstFourDays27日のうち少なくとも4日が新年度に含まれる週を年度の第一週としてます。
vbFirstFullWeek3全体が新年度に含まれる最初の週を年度の第一週とします。


■サンプルコード
Option Explicit

Sub SampleCode()
    Dim SampleDate As Date
    SampleDate = "2011/12/4 1:23:45"
    
    Debug.Print DatePart("yyyy", SampleDate) '2011
    Debug.Print DatePart("q", SampleDate)    '4
    Debug.Print DatePart("m", SampleDate)    '12
    Debug.Print DatePart("y", SampleDate)    '338
    Debug.Print DatePart("d", SampleDate)    '4
    Debug.Print DatePart("w", SampleDate)    '1
    Debug.Print DatePart("ww", SampleDate)   '50
    Debug.Print DatePart("h", SampleDate)    '1
    Debug.Print DatePart("n", SampleDate)    '23
    Debug.Print DatePart("s", SampleDate)    '45
    
    
    Debug.Print Year(SampleDate)   'DatePart("yyyy",SampleDate)と一緒
    Debug.Print Month(SampleDate)  'DatePart("m",SampleDate)と一緒
    Debug.Print Day(SampleDate)    'DatePart("d",SampleDate)と一緒
    
    Debug.Print Hour(SampleDate)   'DatePart("h", SampleDate)と一緒
    Debug.Print Minute(SampleDate) 'DatePart("n", SampleDate)と一緒
    Debug.Print Second(SampleDate) 'DatePart("s", SampleDate)と一緒
End Sub

0 件のコメント: