VBA月功能|如何从日期获取月份号?

Excel VBA月

VBA月功能 是一个内置函数,用于从日期获取月份,此函数返回的输出为1到12之间的整数。此函数仅从提供的日期值中提取月份数。

例如,如果日期为2019年5月28日,则要从该日期提取月份号,我们可以使用MONTH函数。

如何在VBA中使用月份功能?

下面是MONTH函数的语法。

我们只需要提供尝试提取月份号的日期即可。

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

范例#1

我们将看到如何编写代码以从日期中提取月份数。我们将日期定为“ 2019年10月10日”。

步骤1: 启动宏过程。

代码:

 Sub Month_Example1()结束Sub 

第2步: 定义变量以保存日期值。由于我们存储数据值,因此我们的数据类型应为“日期”。因此,声明变量,并将数据类型分配为声明的变量的“日期”。

代码:

 Sub Month_Example1()Dim DDate作为日期结束子 

第三步: 为此变量指定日期值2019年10月10日。

代码:

 Sub Month_Example1()Dim DDate as Date DDate =“ 10 Oct 2019” End Sub 

第4步: 现在分配月份号,以声明另一个变量为“ Integer”。

代码:

 Sub Month_Example1()Dim DDate作为日期Dim MonthNum作为整数DDate =“ 10 Oct 2019” End Sub 

笔记: 之所以将变量声明为Integer是因为我们的月份计数仅以12结尾。因此,整数数据类型可以保存此数字。

步骤5: 对于此变量,我们将打开MONTH函数。

代码:

 Sub Month_Example1()Dim DDate作为日期Dim MonthNum作为整数DDate =“ 10 Oct 2019” MonthNum = Month(End Sub 

步骤6: 月份功能询问需要提供的“日期”以提取月份号。由于我们已经将目标日期存储到变量“ DDate”中,因此请将该变量作为月份函数的输入参数。

代码:

 Sub Month_Example1()Dim DDate作为日期Dim MonthNum作为整数DDate =“ 10 Oct 2019” MonthNum = Month(DDate)结束Sub 

步骤7: 现在,“ Month”功能将把提供的日期中的月份数返回到变量“ MonthNum”,并最终在VBA的消息框中显示结果。

代码:

 Sub Month_Example1()Dim DDate作为日期Dim MonthNum作为整数DDate =“ 10 Oct 2019” MonthNum = Month(DDate)MsgBox MonthNum End Sub 

运行代码,然后在消息框中查看月份号。

输出:

因此,从提供的日期开始的月数是10,即十月。

范例#2

现在,我们将使用单元格引用进行编码。下面是我们在工作表中的日期。

因此,需要从单元格A2的日期值中提取月份号到单元格B2。

代码:

 Sub Month_Example2()Range(“ B2”)。Value =结束Sub 

打开MONTH功能,并将日期作为RANGE A2值提供。

代码:

 Sub Month_Example2()Range(“ B2”)。Value = Month(Range(“ A2”))En​​d Sub 

我们之所以提供范围A2单元格的原因是因为这次我们的日期在单元格A2中,因此相同的内容将作为参考。

现在执行代码,并从单元格B2中的日期获取月数。

在这里,我们在单元格B2中获得了月份号。

例子#3

我们已经提取了单单元格日期的月份,但是如果我们有多行数据,例如下面的数据,该怎么办。

在这些情况下,我们需要遍历单元格并执行从每个相应日期提取月数的任务。

下面的代码将为我们完成这项工作。

代码:

 Sub Month_Example3()Dim k只要k = 2至12个像元(k,3)。值= Month(Cells(k,2).Value)下一个k结束 

此代码将执行的操作是,它将循环从2到12的行,并从第二列中提取月份号,并将结果存储在第三列中。

这里要记住的事情

  • MONTH是工作表函数以及VBA函数。
  • MONTH需要有效的日期参考,否则我们将收到错误消息。
  • 如果月份数为12,则将引发错误消息。