Excel VBA 入門講座

Excel VBA 入門講座 5.データ型変換
日付/時刻操作関数日付/時刻操作関数
関数名Date
機能現在のシステム日付を返します。

Debug.Print Date
'システム日付が2005/11/21の場合、2005/11/21を返す
関数名Time
機能現在のシステムの時刻を返します。

Debug.Print Time
'システム時刻が19:46:38の場合、19:46:38を返す
関数名Now
機能現在のシステムの日付と時刻を返します。

Debug.Print Now
'システム日付/時刻が2005/11/21 19:46:38の場合、2005/11/21 19:46:38を返す
関数名Year
機能指定された日時値から年を取り出して返します。
構文Year(Date)

Debug.Print Year(Date)
'現在のシステム日付が2005/11/21の場合2005を返す
関数名Month
機能指定された日時値から月を取り出して返します。
構文Month(Date)

Debug.Print Month(Date)
'現在のシステム日付が2005/11/21の場合11を返す
関数名Day
機能指定された日時値から日を取り出して返します。
構文Day(Date)

Debug.Print Day(Date)
'現在のシステム日付が2005/11/21の場合21を返す
関数名Hour
機能指定された日時から時間の数値を返します。
構文Hour(Time)

Debug.Print Hour(Time)
'システム時刻が19:46:38の場合19を返す
関数名Month
機能指定された日時から分の数値を返します。
構文Minute(time)

Debug.Print Minute(Time)
'システム時刻が19:46:38の場合46を返す
関数名Second
機能指定された日時から秒の数値を返します。
構文Second(Time)

Debug.Print Second(Time)
'システム時刻が19:46:38の場合38を返す
関数名Weekday
機能指定された日付から曜日を計算して、曜日を示す数値を返します。(日~土=1~7)
構文Weekday(Date)

Debug.Print Weekday(Date)
'現在のシステム日付が2005/11/21の場合、月曜日なので2を返す
関数名WeekdayName
機能指定された曜日を表す文字列を返します。(1~7=日曜~土曜)
構文WeekdayName(1~7の数値)

Debug.Print WeekdayName(1)
'"日曜"を返す

Debug.Print WeekdayName(Weekday(Date))
現在のシステム日付に対応する曜日を返す
関数名DateAdd
機能指定された時間間隔を加算した日付を返します。
構文DateAdd("時間間隔" , 間隔数 , 時間間隔を追加する日付)

    dtDate = Date
    '3日後を返す(日を加算)
    Debug.Print DateAdd("d", 3, dtDate)
    '3ヵ月後を返す(月を加算)
    Debug.Print DateAdd("m", 3, dtDate)
    '3年後を返す(年を加算)
    Debug.Print DateAdd("yyyy", 3, dtDate)
    '3週目を返す
    Debug.Print DateAdd("w", 3, dtDate)
    '3週間後を返す(週を加算)
    Debug.Print DateAdd("ww", 3, dtDate)
    '9ヵ月後を返す(四半期を加算)
    Debug.Print DateAdd("q", 3, dtDate)
    
    dtTime = Time
    '3時間後を返す(時間を加算)
    Debug.Print DateAdd("h", 3, dtTime)
    '3分後を返す(分を加算)
    Debug.Print DateAdd("n", 3, dtTime)
    '3秒後を返す(秒を加算)
    Debug.Print DateAdd("s", 3, dtTime)
    
    dtNow = Now
    '3日後を返す(日を加算)
    Debug.Print DateAdd("d", 3, dtNow)
    '3ヶ月後を返す(月を加算)
    Debug.Print DateAdd("m", 3, dtNow)
    '3週目を返す
    Debug.Print DateAdd("w", 3, dtNow)
    '3週間後を返す(週を加算)
    Debug.Print DateAdd("ww", 3, dtNow)
    '3時間後を返す(時間を加算)
    Debug.Print DateAdd("h", 3, dtNow)
    '3分後を返す(分を加算)
    Debug.Print DateAdd("n", 3, dtNow)
    '3秒後を返す(秒を加算)
    Debug.Print DateAdd("s", 3, dtNow)
関数名DateDiff
機能2 つの指定した日付の時間間隔を返します。
構文DateDiff("時間間隔" , "開始日付" , "終了日付")

    dtStDate = "2005/11/22"
    dtEdDate = "2006/2/22"

    '92を返す(日間隔)
    Debug.Print DateDiff("d", dtStDate, dtEdDate)
    '3を返す(月間隔)
    Debug.Print DateDiff("m", dtStDate, dtEdDate)
    '1を返す(年間隔)
    Debug.Print DateDiff("yyyy", dtStDate, dtEdDate)
    '13を返す(週間隔)
    Debug.Print DateDiff("w", dtStDate, dtEdDate)
    '13を返す(週間隔)
    Debug.Print DateDiff("ww", dtStDate, dtEdDate)
    '1を返す(四半期間隔)
    Debug.Print DateDiff("q", dtStDate, dtEdDate)
    '2208を返す(時間間隔)
    Debug.Print DateDiff("h", dtStDate, dtEdDate)
    '132480を返す(分間隔)
    Debug.Print DateDiff("n", dtStDate, dtEdDate)
    '7948800を返す(秒間隔)
    Debug.Print DateDiff("s", dtStDate, dtEdDate)
Excel VBA 入門講座 5.データ型変換 TOP