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中的“日期和时间功能”下组织的。