DatePart関数

DatePart関数は、VBA関数の中で日付・時刻関数に分類される関数です。

目次

スポンサー リンク

DatePart関数とは

DatePart関数は、日付の指定した部分を含むバリアント型 (内部処理形式 Integer の Variant) の値を返します。

構文DatePart(interval, date[,firstdayofweek[, firstweekofyear]])
引数省略説明
interval ×時間間隔の単位を表す文字列式を指定します。
date ×評価するバリアント型 (内部処理形式 Date の Variant) の値を指定します。
firstdayofweek 週の始まりの曜日を表す定数を指定します。省略すると、日曜日を指定したものとみなされます。
firstweekofyear 年度の第 1 週を表す定数を指定します。省略すると、1 月 1 日を含む週が第 1 週とみなされます。

引数interval

設定値説明
yyyy yyyy
q 四半期
m
y 年間通算日
d
w 週日
ww
h
n
s

引数firstdayofweek

定数説明
vbUseSystem 0 NLS API の設定値を使います。
vbSunday 1 (既定値) 日曜
vbMonday 2 月曜
vbTuesday 3 火曜
vbWednesday 4 水曜
vbThursday 5 木曜
vbFriday 6 金曜
vbSaturday 7 土曜

引数firstweekofyear

定数説明
vbUseSystem 0 NLS API の設定値を使います。
vbFirstJan1 1 (既定値) 1 月 1 日を含む週を年度の第 1 週として扱います。
vbFirstFourDays 2 7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週として扱います。
vbFirstFullWeek 3 全体が新年度に含まれる最初の週を年度の第 1 週として扱います。

DatePart 関数を使うと、日付を評価し、特定の時間間隔部分を取得できます。たとえば、週日や現在の時刻などを計算できます。名前付き引数 firstdayofweek は、名前付き引数 interval に週 ("ww") を指定した場合の計算値に影響します。

名前付き引数 date に日付リテラルを指定した場合、指定した年が日付の固定部分となります。ただし、名前付き引数 date をダブル クォーテーション (" ") で囲み、年を省略すると、名前付き引数 date の式が評価されるたびにコードに現在の年が挿入されます。これを利用すると、異なる年度で使用できるコードを記述することが可能になります。

Calendar プロパティの設定がグレゴリオ暦の場合、引数 date にはグレゴリオ暦で表される日付を指定する必要があります。Calendar プロパティの設定が回教暦の場合、引数 date には回教暦で表される日付を指定する必要があります。

返される日付の部分は、現在のアラビア暦の時間間隔の単位で返されます。たとえば、現在のカレンダーが回教暦で、返される日付の部分が年の場合、その年の値は回教暦の年になります。

DatePart関数のサンプルコード

次の例は、ユーザーに日付の入力を求めた後、DatePart 関数を使って、その日付が四半期のうちのどの期に当たるかを調べます。


Sub sample()

 Dim TheDate As Date            ' 変数を宣言します。
 Dim Msg    
 TheDate = InputBox("日付を入力してください。")
 Msg = "第 " & DatePart("q", TheDate) & " 四半期"
 MsgBox Msg

End Sub

※ドラッグ(スワイプ)すると全体を確認できます。

実行結果

解説

日付・時刻関数一覧

関数名内容
Date現在のシステム日付を算出します。
DateAdd指定した期間を加えた値を算出します。
DateDiff指定した時間単位で、2つの日付の差を算出します。
DatePart日付の指定した部分を算出します。
DateSerial指定した年月日に対応するバリアント型の値を算出します。
DateValue日付を表すバリアント型の値を算出します。
Day指定した日付から、日を表す1~31までの値を算出します。
Hour指定した時刻から、時間を表す0~23の値を算出します。
Minute指定した時刻から、分を表す0~59の値を算出します。
Month指定した日付から、月を表す1~12までの値を算出します。
Now現在のシステム日付と時刻を算出します。
Second指定した時刻から、秒を表す0~59の値を算出します。
Time現在のシステム時刻を算出します。
Timer午前0時から経過した秒数を算出します。
TimeSerial指定した時分秒をバリアント型の値で算出します。
TimeValue時刻をバリアント型の値で取得します。
Weekday指定した日付の曜日を算出します。
Year指定した日付の年を算出します。
ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。

VBAのIE操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。

目次

VBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。