Función de mes de VBA

Mes de Excel VBA

La función de mes de VBA es una función incorporada que se utiliza para obtener el mes de una fecha y la salida devuelta por esta función es un número entero comprendido entre 1 y 12. Esta función solo extrae el número de mes del valor de fecha proporcionado.

Por ejemplo, si la fecha es 28 de mayo de 2019, para extraer el número de mes de esta fecha, podemos usar la función MES.

¿Cómo usar la función de mes en VBA?

A continuación se muestra la sintaxis de la función MES.

Solo necesitamos proporcionar la fecha de la que estamos tratando de extraer el número de mes.

Puede descargar esta plantilla de Excel del mes de VBA aquí - Plantilla de Excel del mes de VBA

Ejemplo 1

Veremos cómo escribir un código para extraer el número de mes de la fecha. Tomaremos la fecha como "10 de octubre de 2019".

Paso 1: Inicie el procedimiento de macro.

Código:

 Sub Month_Example1 () End Sub 

Paso 2: Defina la variable para contener el valor de la fecha. Dado que estamos almacenando el valor de los datos, nuestro tipo de datos debería ser "Fecha". Así que declare la variable y asigne el tipo de datos como "Fecha" a la variable declarada.

Código:

 Sub Month_Example1 () Dim DDate As Date End Sub 

Paso 3: Para esta variable, asigne el valor de fecha del 10 de octubre de 2019.

Código:

 Sub Month_Example1 () Dim DDate As Date DDate = "10 de octubre de 2019" End Sub 

Paso 4: Ahora asigne el número de mes para declarar una variable más como "Entero".

Código:

 Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 Oct 2019" End Sub 

Nota: La razón por la que hemos declarado la variable como Integer porque nuestro recuento de meses termina en 12 solamente. Entonces, el tipo de datos entero puede contener este número.

Paso 5: Para esta variable, abriremos la función MES.

Código:

 Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 de octubre de 2019" MonthNum = Month (End Sub 

Paso 6: Función de mes que solicita la "Fecha" que se debe proporcionar para extraer el número del mes. Como ya hemos almacenado la fecha objetivo en la variable "DDate", proporcione esta variable como parámetro de entrada para la función de mes.

Código:

 Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 de octubre de 2019" MonthNum = Month (DDate) End Sub 

Paso 7: Ahora la función "Mes" devolverá el número de mes desde la fecha proporcionada a la variable "MonthNum" y finalmente mostrará el resultado en un cuadro de mensaje en VBA.

Código:

 Sub Month_Example1 () Dim DDate As Date Dim MonthNum As Integer DDate = "10 de octubre de 2019" MonthNum = Month (DDate) MsgBox MonthNum End Sub 

Ejecute el código y vea el número del mes en el cuadro de mensaje.

Salida:

Entonces, el número de mes a partir de la fecha proporcionada es 10, es decir, el mes de octubre.

Ejemplo # 2

Ahora tomaremos referencias de celda para codificar. A continuación se muestra la fecha que tenemos en la hoja de trabajo.

Entonces, del valor de fecha de la celda A2, necesitamos extraer el número del mes a la celda B2.

Código:

 Sub Month_Example2 () Intervalo ("B2"). Valor = End Sub 

Abra la función MES y proporcione la fecha como valor RANGO A2.

Código:

 Sub Month_Example2 () Rango ("B2"). Valor = Mes (Rango ("A2")) Fin Sub 

La razón por la que hemos proporcionado la celda Rango A2 porque esta vez nuestra fecha está en la celda A2, por lo que la misma será la referencia.

Ahora ejecute el código y obtenga el número de mes de la fecha en la celda B2.

Aquí tienes, tenemos el número del mes en la celda B2.

Ejemplo # 3

Hemos extraído el mes para la fecha de celda única, pero ¿qué pasa si tenemos varias filas de datos como la siguiente?

En estos casos, necesitamos recorrer las celdas y ejecutar la tarea de extraer el número de mes de cada fecha respectiva.

El siguiente código hará el trabajo por nosotros.

Código:

 Sub Month_Example3 () Dim k As Long For k = 2 To 12 Cells (k, 3) .Value = Month (Cells (k, 2) .Value) Next k End Sub 

Lo que hará este código es recorrer las filas de 2 a 12 y extraer el número de mes de la segunda columna y almacenar el resultado en la tercera columna.

Cosas para recordar aquí

  • MES es una función de hoja de trabajo y una función de VBA.
  • MES requiere una referencia de fecha válida; de lo contrario, obtendremos un mensaje de error.
  • Si el número del mes es 12, arrojará un mensaje de error.