VBA DateValue |如何在Excel VBA中使用DateValue函数?

什么是VBA DateValue函数?

DateValue函数是Excel VBA中的内置函数,位于Date / time函数的类别下。它既可以在vba中用作VBA功能,又可以用作工作表功能。此函数将以字符串表示形式的格式返回Date的序列号或值,而忽略Date字符串提供的时间信息。在Excel中以两种不同的方式使用它。此函数用作在工作表单元格中输入的工作表公式。它用作VBA应用程序中的宏代码,可通过与Microsoft Excel关联的Visual Basic编辑器输入该宏代码。

在本文中,我们将学习VBA DATEVALUE的示例以及如何使用它进行清晰的解释。

VBA日期值功能说明

在VBA中,DATEVALUE使用以下语法。

此函数仅使用单个参数或参数

  • 日期:以字符串格式表示的日期
  • 返回值: 用作VBA函数时,此函数返回日期的值。当它用作工作表函数时,它将返回日期值

VBA DateValue函数能够解释以有效Excel格式提及的文本格式表示的数据。如果字符串包含工作日的文本表示,则无法返回日期值。

VBA DateValue函数的好处是从字符串中提取日期值,并将带时间的日期转换为唯一的日期。我们可以简单地认为,当给定日期和时间时,此函数仅使用日期值来避免时间值。

如何使用Excel VBA DATEVALUE?

要在Excel中使用DateValue函数,首先需要打开VBA编辑器。

需要在Excel工作表中放置“命令”按钮,才能向其中添加VBA程序行。要实现程序的各行,用户需要单击excel工作表中的命令按钮。要从程序获得有效的输出,可通过参数给出有效的输入。例如,以下代码有助于创建宏,以运行DateValue函数从VBA中的文本中提取日期值。

VBA程序:

 子Datebutton()将myDate设置为日期myDate = DateValue(“ 1991年8月15日”)MsgBox日期(myDate)结束Sub 

该代码从给定的输入中得出日期为15。

Excel VBA DATEVALUE的示例

下面是Excel VBA中DateValue的示例。

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

示例1 –从日期中获取日,月和年

按照很少的步骤在VBA中创建和执行程序。这些包括

步骤1: 转到“开发人员选项卡”,将光标置于Excel工作表中的单元格上,然后单击“插入”选项,然后在ActiveX控件下选择“命令按钮”,如图所示。

将Button拖到所需的位置,并从属性窗口中将标题指定为Datebutton。

第2步: 双击该按钮,它将重定向到VBA项目,并在Private Sub命令按钮和结束子之间编写代码。

该代码应按以下方式开发以获取日期,月份和年份。

代码:

 私有子项Datebutton1_Click()昏暗Exampledate作为日期Exampledate = DateValue(“ April 19,2019”)MsgBox Date MsgBox Year(Exampledate)MsgBox Month(Exampledate)End Sub 

在此代码中,Datebutton1_Click()是名称,exampledate是具有Date数据类型和Msgbox的变量,以显示输出。

第三步: 在开发代码时,将发生vba类型不匹配错误,需要予以解决。

第4步: 在此步骤中,单击运行选项运行程序。

或者,我们可以选择“调试”菜单下的“逐步进入”选项,逐步检查或调试程序。如果我们的代码没有任何错误,则显示输出。

第5步:执行程序时,它首先显示带有文本输入中给定日期的消息框。接下来,单击“确定”以再次查看年份值,在消息框中单击“确定”以查看月份值。

笔记: 必须清楚地遵循这些步骤才能获得准确的结果。

Example#2 –使用DatePart获取日期的不同部分

步骤1: 转到Excel开发人员选项卡,将光标置于Excel工作表中的单元格上,然后单击“插入”选项,然后在ActiveX控件下选择“命令按钮”,如图所示。

第2步: 拖动按钮,然后在属性下将标题作为DatePart给出。

双击此按钮,它会指向“ Visual Basic编辑器”页面并显示如下。

第三步: 如图所示,使用带有DateValue的DatePart开发代码。

代码:

 Private Sub Datepart1_Click()昏暗partdate作为变体partdate = DateValue(“ 8/15/1991”)MsgBox partdate MsgBox Datepart(“ yyyy”,partdate)MsgBox Datepart(“ dd”,partdate)MsgBox Datepart(“ mm”,partdate) MsgBox Datepart(“ q”,partdate)结束子 

在此程序中,DatePart1是宏名称,partDate是数据类型为“ variant”的参数名称。为了显示年,日,月和季度,格式应用为“ yyyy”,“ d”,“ m”和“ q”。如果我们在格式上有任何错误,则会显示以下错误。

第4步: 成功调试程序后,通过单击运行按钮使用excel快捷键F5运行程序。

代码首先显示完整的日期,然后在msgbox中单击每个确定,然后分别显示该日期值,月份值和Quater值之后的年份值。

有关VBA DATEVALUE的注意事项

在Excel VBA中使用DateValue函数时,必须记住以下几点

  • 当提供给DateValue函数的日期不能转换为有效日期时,将显示运行时错误13,并显示消息类型不匹配。我们需要日期是正确的文本格式
  • 当我们尝试从代码为“ msgbox date(参数名称)”的字符串参数中获取唯一日期时,它会显示类型不匹配错误。
  • 我们可以在不打开VBA编辑器的情况下看到DateValue函数的输出。通过单击命令按钮并选择为相应程序创建的宏来完成此操作。
  • 当使用DatePart获取值时,应遵循适当的格式。否则,它会导致“运行时错误5”,并显示消息无效的过程调用或参数。