Datediff VBA.Visual Basic for Applications(VBA)集成到Microsoft Office套件附带的程序中,如Microsoft Word和Microsoft Excel。VBA允许您编写宏(短,简单的程序),可用于自动执行重复执行的任务。例如,在Excel中,您可以编写一个宏,允许您从一列中复制一系列单元格中找到的数据并将其粘贴在另一列中。

您可以看到这是有用的 - 特别是如果您使用Excel进行办公工作!使用Visual Basic for Applications需要对Visual Basic语言的某种熟悉。Visual Basic是由Microsoft开发的,使开发人员可以轻松制作Windows友好的应用程序。如果您不熟悉应用程序的Visual Basic,您应该考虑注册入门VBA课程和我们。我们将介绍您需要了解的一切(从基础到高级资料) - 您将在任何时候都在编写自己的宏。在我们继续之前,您可能需要在VBA上浏览这个快速底漆,刷新基础知识。

日期函数语法

在本教程中,我们将为您提供详细的,易于理解的VBA中的日期函数。我们还将教您如何从基础知识编写自己的宏。即使您不熟悉此过程,您也应该能够创建功能宏如果您按照本教程中概述的步骤给字母。

VBA中的日期功能可用于查找两个不同指定时间段之间的时间间隔。Dationiff函数的语法是:

Dationiff(间隔,date1,date2,[firstdayofweek],[FirstWeekofyear])

您始终必须指定间隔,date1和date2参数。您无需指定FirstDayOfWeek和FirstWeekofyear参数。您可以将区间参数,平日,周,小时,第二或年(其他值)更改为日期,平日,周,小时,第二个或年份。DATE1和DATE2将是您两个期间的开始日期和结束日期 - 您指定的间隔将是您接收结果的方式。例如,如果您想在几天内发现两个日期之间的区别,则必须使用“天”间隔。如果您想在数周内发现两个日期之间的差异,则必须使用“周”时间间隔。如果您未指定FirstDayofWeek参数,本周的第一天将按周日设置。如果未指定FirstWeekofyear参数,则将在一年的第一周将设置为包含1月1日的一周。

创建命令按钮

在我们向您展示编写日期函数的代码之前,应在Excel电子表格中插入命令按钮。什么是命令按钮,我们为什么需要一个?单击时命令按钮运行它链接到的代码。您可以使用命令按钮开始执行宏并获取结果。命令按钮的一个示例是内置于Windows中的计算器上的“=”按钮。在我们的情况下,我们将命令按钮链接到日期函数。

首先,您应该在Excel中启用Developer选项卡。默认情况下禁用此选项卡。Developer允许您创建宏并为电子表格添加功能和设计。要启用选项卡,请右键单击顶部的功能区,然后在下拉菜单中选择“自定义功能区”选项。在这里,您应该选择“开发人员标签”选项,然后单击“确定”,如下屏幕截图。你也可以在我们的24小时VBA培训师课程中查看这一点

vBadationiff.

现在,名为Developer的新选项卡将在顶部的“视图”选项卡旁边可用。开发人员选项卡具有我们以后的命令按钮。找到INSERT选项,然后在Active X Controls子菜单下选择“命令按钮”。顶部的设计模式按钮将突出显示,您的指针将变成黑色十字架。单击电子表格中的任何单元格以SPAWN命令按钮,如在下面给出的屏幕截图中:

vbadationiff1.

您可以在电子表格中的任何位置拖放命令按钮。默认情况下,命令按钮上显示的标题为“CommandButton 1”。您可以通过右键单击并选择“属性”来更改“命令”按钮的名称。左侧将弹出大量的属性列表。我们建议您在此处不改变任何内容(特别是如果您是vba新的),除了标题标签。重命名标题标签将将命令按钮的VisiBlename更改为其他内容。例如,在我们的图像中,我们已经更改了命令按钮的可见标题为“查找日期”:

vbadationiff2.

现在,我们需要为我们的日期函数编写代码并将其链接到此命令按钮。这样,当我们点击“查找日期”时,日定函数将返回一个值。右键单击“命令”按钮,然后选择“查看代码”选项。这将打开Microsoft Visual Basic for Applications屏幕。这是我们编写代码的地方。它应该看起来像这样:

vbadationff3.

我们将在私有子命令Button1_Click()和结束子语句之间编写Doatififf函数的代码。CommandButton1_Click()代码行告诉VBA在用户单击“命令”按钮时会执行vba在其上找到的代码。你可以了解有关如何在此VBA课程中创建自己的宏和命令按钮的更多信息

使用日期使用日期的日期差异

现在,最后,我们可以为日期函数编写代码。首先,让我们创建一个日期的函数,让我们在几天内发现两个时间段之间的差异。如上所述,日期函数的语法是:

Dationiff(间隔,date1,date2,[firstdayofweek],[FirstWeekofyear])

首先,我们需要初始化三个不同的变量来保存结果的值(数天数)和两个时间段:date1和date2。如果您之前研究过其他语言(如C或Java),则知道我们需要为什么需要声明这些变量。如果你不熟悉编程,你也可以注册基本的C编程课程和我们。

声明变量的代码如下:

暗淡的约会作为日期,DateTWO为日期,天数天

在这里,我们已将约会和DateTWO声明为“日期”变量。它们将以日期格式(“月日,年”)保持数据。天将将数据保存为“整数”(数字)。

接下来,我们需要将值分配给thedateone和dateTwo变量。这些将是我们的两个时间段:

约会= datevalue(“2014年3月10日”)DateTwo = DateValue(“2014年3月15日”)

然后,我们写下了日期的函数。我们为此目的使用“天”变量:

Days = Dationiff(“D”,约会,DateTwo)

在这里,“D”告诉Visual Basic以使用“日”时间间隔。

最后,我们需要显示结果。为此,我们使用一个消息框。只需在末尾键入单行代码:

msgbox日

完整的程序如下:

私有子CommandButton1_Chitictton1_Chick()按日期,DateTWO作为日期,天数为DateOne = DateValue(“2014年3月10日”)DateTwo = DateValue(“2014年3月15日”)Days = DationIff(“D”,DateDiff(“D”,DateOrd(“D”))Msgbox日结束子

您可以复制整个代码,但我们建议您自己输入它以获得VB的感觉。完成键入后,alt选项卡到您的Excel电子表格。设计模式将在“设计模式”按钮(在“开发人员选项卡中)”中,以便停用它。最后,单击“命令”按钮。应弹出具有日期差异的消息框。您可以更改约会和DATETWO变量的值以获得不同的结果。你也可以尝试在此VBA课程中的一些示例进行Excel

使用日期函数在几周内找到两个日期之间的差异

您可以使用日期的日期在几周数,而不是天数之间找到差异。代码类似 - 您必须使用“WW”替换“D”(间隔)参数。只需修改我们之前写的程序,就像这样:

私有子CommandButton1_Click()暗示约会日期,DateTWO作为日期,天数为DateOne = DateValue(“2014年3月10日”)DateTwo = DateValue(“2014年3月15日”)Days = DationIff(“WW”,约会,DateTwo)Msgbox日结束子

现在尝试单击“命令”按钮(记得禁用设计模式)。您将获得“0”结果。为什么会发生这种情况?

在这种情况下,两个日期之间的差异为0分钟数。如果更改了约会或DateTWO的值为一个月或两个月,则会获得其他结果。尝试对自己进行实验,看看。您还可以将时间间隔更改为第二个时间间隔,分钟(n),小时(h),一年(y)或月份(y)。有关列表,请使用鼠标(突出显示它)选择VBA中的日期功能,然后按F1。您也可以尝试指定FirstDayOfWeek和FirstWeekofyear参数。

日期函数是VBA中最简单,最有用的功能之一。随意尝试。一旦你准备好踩到一个档次,就去用我们的高级VBA课程伸展自己

Excel VBA的顶级课程

解锁Excel VBA和Excel宏
Leila Gharani.
4.6 (27,501)
畅销书
Microsoft Excel Macros和Excel VBA硕士
凯尔·佩
4.6 (12,067)
畅销书
Excel Macros&Excel VBA编程为初学者编程
andreas exadaktylos.
4.5 (880)
使用Excel VBA完成Web自动化
丹尼尔强
4.6 (753)
畅销书
MIS培训 - authad Excel +宏+访问+ SQL
喜人·德汉尔
4.3 (369)
终极Excel VBA阵列课程
丹尼尔强
4.3 (462)
终极Excel VBA.
马克塔尔伯特
4.6 (3,267)
Excel VBA编程 - 完整指南
Boris Paskhaver.
4.6 (3,789)
Microsoft Excel VBA简介
凯尔·佩
4.6 (1,182)
Excel与Microsoft Excel VBA用户表单
凯尔·佩
4.6 (1,211)

更多Excel VBA课程

Excel VBA学生还学习

赋予你的团队。引领行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求演示