VBA DatePart函数|如何返回日期的指定部分?

Excel VBA DatePart函数

VBA中的DatePart 用于标识作为参数提供的给定日期的日期部分,日期部分可以是天或月或年,甚至是小时分钟和秒,此函数的语法本身就很清楚,它是紧随其后的是Datepart(间隔,日期作为参数)。

句法

DatePart函数的语法如下:

  • 间隔: 要在interval参数中传递的数据是字符串类型,这意味着该参数可以在其中包含任何有效值。间隔可以是年,月,季,日,周,小时,分钟,秒。
  • 日期: 需要评估的日期值。
  • 一周的第一天: 这是一个可选参数。这描述了一周的第一天,甚至可以忽略。如果忽略此参数,则自动将星期日作为一周的第一天。如果您希望更改该参数,则可以使用此参数。此参数可能包含vbUseSystem 0。

使用NLS API设置

vbSunday(默认),vbMonday,vbTuesday,vbWednesday,vbThursday,vbFriday,vbSaturday。
  • 每年的第一周: 同样,top参数也是可选参数。这描述了一年的第一周。此参数也可以忽略。如果忽略此参数,则将1月1日作为一年的第一周。如果您想更改该参数,则可以使用此参数。

    此参数可能包含以下值。

    vbUseSystem,vbFirstJan1,vbFirstFourDays,vbFirstFullWeek。

输入所有参数后,Datepart()将返回数字值,例如整个日期或年份,月份或季度等。因此,此函数的返回类型将是数字值。

如何在VBA中使用DatePart函数?

您可以在此处下载此VBA DatePart Excel模板– VBA DatePart Excel模板

范例#1

第一个示例是同时显示完整的日期和该月的季度。

为此,我们需要在Visual Basic中为该Goto Developer选项卡编写一些代码,然后单击Visual Basic,然后将打开一个窗口。

在该窗口中编写如下所示的代码。

代码:

 Sub date_Datepart()Dim mydate As Variant mydate =#12/25/2019#MsgBox mydate MsgBox DatePart(“ q”,mydate)'显示季度结束Sub 

在此示例中,我们使用Datepart函数显示日期和日期的四分之一。这将显示日期是一年中的哪个季度。

如果我们调试代码,则日期将在代码执行“ Msgbox mydate”时第一次显示为完整日期,因为随机日期已分配给“ mydate”变量。

接下来,我们将显示该日期所属的哪个季度。

当您手动运行代码或使用快捷键F5时,单击“确定”后将显示日期。接下来,将显示日期的四分之一,可以在下面的屏幕快照中显示。

同样,季度也只能显示日期,月份或年份。

范例#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(“输入日期:”)”这一行表示可以手动输入日期,

手动输入日期后,它将在消息框中显示日期的四分之一。可以在下面的屏幕快照中显示。

由于六月月份在第二季度,因此将显示第二季度,如上面的屏幕截图所示。

例子#3

在此示例中,所有值都将填充到单元格中。

代码:

 私有子Workbook_Open()将DummyDateDate作为日期DummyDate = ActiveSheet.Cells(2,2)ActiveSheet.Cells(2,2).Value = Day(DummyDate)ActiveSheet.Cells(3,2).Value = Hour(DummyDate)ActiveSheet .Cells(4,2).Value =分钟(DummyDate)ActiveSheet.Cells(5,2).Value =月(DummyDate)ActiveSheet.Cells(6,2).Value = Weekday(DummyDate)End Sub 

日期被填充在excel工作表中的单元格中,因为代码被写为Active Sheet.cells。通过此代码,可以将出现的日期是年份月份或日期插入到给定的单元格中。

例如,在上面的屏幕截图中,

该日期将插入到Excel工作表的单元格(2,2)中。因此,代码被写为“ ActiveSheet.Cells(2,2).Value = Day(DummyDate)”。

使用F5键或手动运行代码,结果将如下所示。

默认情况下,它采用今天的日期,并且在(2,6)单元格中显示为30。

同样,对于所有其他数据,也可以填充它。

DatePart函数的用法

  • DatePart函数可用于显示日期的一部分,如名称所示,即,如果仅需要显示日期的天,月或年,则可以使用此函数。
  • 此功能还将日期,月份和年份与特定日期分开。
  • 通过使用此功能,不仅可以分隔日期,还可以获取季度,日期,小时,分钟和秒。

要记住的事情

  • 此功能只能用作VBA功能。在正常的excel中,无法使用此功能。
  • 在此函数中作为值给出的日期可以以任何格式给出,例如mm-dd-yyyy格式或DD-MM-YYYY格式等。
  • 此功能将单独分隔所有值,例如日期,月,年或时间,也分别是小时,分钟,秒。
  • 这是在Microsoft Excel的VBA中的“日期和时间功能”下组织的。