VBADatePart関数| 日付の指定された部分を返す方法は?

Excel VBADatePart関数

VBAのDatePartは、引数として指定された特定の日付の日付の部分を識別するために使用されます。日付の部分は、日、月、年、または時分と秒のいずれかです。この関数の構文は、それは次のとおりです、Datepart(間隔、引数としての日付)。

構文

DatePart関数の構文を以下に示します。

  • 間隔:間隔引数で渡されるデータは文字列型です。つまり、この引数には任意の有効な値を含めることができます。間隔は、年、月、四半期、日、週、時、分、秒の場合があります。
  • 日付:評価する必要のある日付値。
  • firstdayofweek:これはオプションのパラメーターです。これは週の最初の日を表しますが、これは無視することもできます。このパラメーターを無視すると、自動的に日曜日が週の最初の曜日になります。これを変更したい場合は、このパラメーターを使用できます。この引数は、vbUseSystem0で構成されている場合があります。

NLSAPI設定を使用する

vbSunday(デフォルト)、vbMonday、vbTuesday、vbWednesday、vbThursday vbFriday、vbSaturday。
  • firstweekofyear:最上位パラメーターと同様に、これもオプションのパラメーターです。これは、その年の最初の週を表します。このパラメーターは無視することもできます。このパラメーターを無視すると、1月1日がその年の最初の週であると見なされます。これを変更したい場合は、このパラメーターを使用できます。

    この引数は、次の値で構成されます。

    vbUseSystem、vbFirstJan1、vbFirstFourDays、vbFirstFullWeek。

すべてのパラメーターを指定した後、Datepart()は、日付全体、年、月、四半期などの数値を返します。したがって、この関数の戻り値の型は数値になります。

VBAでDatePart関数を使用するにはどうすればよいですか?

このVBADatePart Excelテンプレートはここからダウンロードできます– VBA DatePartExcelテンプレート

例1

最初の例は、その月の完全な日付と四半期も表示することです。

これを実現するには、Visual Basicでコードを記述して、[開発者]タブに移動し、[Visual Basic]をクリックすると、ウィンドウが開きます。

そのウィンドウで、以下に示すようにコードを記述します。

コード:

 Sub date_Datepart()Dim mydate As Variant mydate =#12/25/2019#MsgBox mydate MsgBox DatePart( "q"、mydate) 'は四半期の終了を表示しますSub 

この例では、Datepart関数を使用して、日付と、日付の4分の1である日付の一部を表示しています。これは、1年のどの四半期が開始日であるかを表示します。

コードをデバッグすると、ランダムな日付が「mydate」変数に割り当てられるため、コードが「Msgbox mydate」を最初に実行したときに、日付が完全な日付として表示されます。

次に、その日付が1年のどの四半期に該当するかを表示します。

コードを手動で実行するか、ショートカットキーF5を使用して実行すると、[OK]をクリックすると日付が次のように表示されます。次に、日付の四半期が表示されます。これは下のスクリーンショットに表示されます。

同様に、四半期、日付、月、または年のみを表示することもできます。

例2

この例では、実行時に手動で日付を入力します。

コード:

Sub date1_datePart()Dim TodayDate As Date '変数を宣言します。Dim Msg TodayDate = InputBox( "Enter a date:")Msg = "Quarter:"&DatePart( "q"、TodayDate)MsgBox Msg End Sub

この例では、実行時に手動で日付を取得しようとしています。コード「TodayDate = InputBox( "Enter a date:")」この行は、日付を手動で入力できることを示しています。

手動で日付を入力すると、メッセージボックスに日付の四半期が表示されます。これは、以下のスクリーンショットに表示されます。

6月は第2四半期であるため、上のスクリーンショットに示すように、第2四半期が表示されます。

例3

この例では、すべての値がセルに入力されます。

コード:

 Private Sub Workbook_Open() Dim DummyDate As Date DummyDate = ActiveSheet.Cells(2, 2) ActiveSheet.Cells(2, 2).Value = Day(DummyDate) ActiveSheet.Cells(3, 2).Value = Hour(DummyDate) ActiveSheet.Cells(4, 2).Value = Minute(DummyDate) ActiveSheet.Cells(5, 2).Value = Month(DummyDate) ActiveSheet.Cells(6, 2).Value = Weekday(DummyDate) End Sub 

The dates are filled in the cells in the excel sheet, for that the code is written as Active Sheet.cells. By this code the date which is present may be year month or date can be inserted into the given cells.

For example, in the above screenshot,

The day is to be inserted in the cells ( 2, 2) of the excel sheet. Hence the code is written as “ ActiveSheet.Cells(2, 2).Value = Day(DummyDate) “ .

Run the code using the F5 key or manually and the result would be as shown below.

It is by default taking today date and it is displaying as 30 in (2,6) cell.

Likewise for all the other data also it can be filled.

Usage of DatePart Function

  • DatePart function can be used to display the part of the date as the name indicates i.e., if only day or month or year of the date needs to be displayed then this function can be used.
  • This function also separates date, month and a year from a particular date.
  • By using this function the date is not only separated we can also get the quarter, day, hour, minute and a second.

Things to Remember

  • This function can only be used as a VBA Function. In normal excel, this cannot be used.
  • The dates which are given as a value in this function can be given in any format such as mm-dd-yyyy format or DD-MM-YYYY format etc.
  • This function will separate all the values separately such as date, month, year or time also an hour, minute, seconds also.
  • This is organized under Date and Time Functions in VBA of Microsoft Excel.