Vbaのdatepart関数の使い方は?
VBA DATEPART 関数は、VBA 関数の日付カテゴリにリストされています。 VBA コードで使用すると、日付または時刻の値から日の値を返すことができます。簡単に言えば、日付または時刻の値から秒、分、時間、日、月、または年を取得できます。
構文
DatePart(間隔, 日付, [週の最初の日, [年の最初の週]])
引数
- Interval : 結果で返される日付の部分を指定する文字列。
- Date : 日付部分が返される日付。
- [FirstDayOfWeek] : 週の最初の日を定義する文字列 [これはオプションの引数であり、省略された場合はデフォルトで vbSunday]。
- vbUseSystemDayOfWeek – システム設定に応じて異なります。
- vb日曜日 – 日曜日
- vblunday – 月曜日
- vb火曜日 – 火曜日
- vb水曜日 – 水曜日
- vb木曜日 – 木曜日
- vb金曜日 – 金曜日
- vb土曜日 – 土曜日
- [FirstWeekOf Year] : 年の最初の週を定義する文字列 [これはオプションの引数であり、省略された場合はデフォルトで vbFirstJan1 です]。
- vbSystem – システム設定に応じて。
- vbFirstJan1 – 1 月 1 日が発生する週。
- vbFirstFourDays – 新年の少なくとも 4 日を含む最初の週。
- vbFirstFullWeek – 新年の最初の丸一週間。
例
VBA DATEPART 関数の使用方法を実際に理解するには、それを使用して VBA コードを作成した以下の例を確認する必要があります。
Sub example_DATEPART() Range("A2").Value = DatePart("d", Range("A1")) Range("A3").Value = DatePart("h", Range("A1")) Range("A4").Value = DatePart("m", Range("A1")) Range("A5").Value = DatePart("n", Range("A1")) Range("A6").Value = DatePart("q", Range("A1")) Range("A7").Value = DatePart("s", Range("A1")) Range("A8").Value = DatePart("w", Range("A1")) Range("A9").Value = DatePart("ww", Range("A1")) Range("A11").Value = DatePart("y", Range("A1")) Range("A12").Value = DatePart("yyyy", Range("A1")) End Sub
上記のコードでは、DATEPART で別の間隔を使用しました。
- 日を取得するには「d」を入力すると、15 が返されます。
- 時間を取得するには「h」を使用しますが、日付には時間がないため、結果として 0 が返されました。
- ‘m’ で月を取得すると 1 が返されます。
- 分を取得するには「n」を使用しますが、日付には時間がないため、結果として 0 が返されました。
- 「q」で四半期を取得すると、1 が返されました。
- ‘s’ を使用して秒を取得しますが、日付に時間がないため、結果として 0 が返されました。
- 「w」で曜日を取得すると、3 が返されました。
- ‘ww’ でその年の週を取得すると、3 が返されました。
- 「y」を入力すると通算日を取得でき、15 が返されました。
- 「ああああ」と年を取得すると、2019 年に戻りました。
コメント
- 日付を年なしで指定した場合は、現在の年が使用されます。
- 指定された値が日付以外の値、または日付として認識できない日付である場合、VBA は実行時エラー 13 を返します。
- 引数「firstdayofweek」の設定は、「interval」が「w」または「ww」の場合にのみ機能します。