Función VBA DatePart - ¿Cómo devolver la parte especificada de la fecha?

Tabla de contenido

Función DatePart de Excel VBA

DatePart en VBA se usa para identificar la parte de la fecha para la fecha dada proporcionada como un argumento, la parte de la fecha puede ser días o meses o año o incluso la hora, minutos y segundos, la sintaxis de esta función se aclara mucho y es como sigue, Datepart (intervalo, fecha como argumento).

Sintaxis

La sintaxis de la función DatePart se proporciona a continuación:

  • Intervalo: los datos que se pasarán en un argumento de intervalo son un tipo de cadena, lo que significa que este argumento puede contener cualquier valor válido. El intervalo puede ser de año, mes, trimestre, día, semana, hora, minuto, segundo.
  • Fecha: el valor de fecha que debe evaluarse.
  • firstdayofweek: este es un parámetro opcional. Esto describe el primer día de la semana. Esto incluso se puede ignorar. Si se ignora este parámetro, automáticamente toma el domingo como primer día de la semana. Si desea cambiar eso, puede usar este parámetro. Este argumento puede consistir en vbUseSystem 0.

Usar la configuración de la API de NLS

vbSunday (predeterminado), vbMonday, vbTuesday, vbWed Wednesday, vbThursday vbFriday, vbSaturday.
  • firstweekofyear: Del mismo modo, el parámetro superior, también es un parámetro opcional. Esto describe la primera semana del año. Este parámetro también se puede ignorar. Si se ignora este parámetro, se asume que el 1 de enero es la primera semana del año. Si desea cambiar eso, puede usar este parámetro.
    Este argumento puede constar de los siguientes valores.
    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Después de dar todos los parámetros, datepart () devolverá el valor numérico como fecha completa o año o mes o trimestre, etc. Por lo tanto, el tipo de retorno de esta función será un valor numérico.

¿Cómo usar la función DatePart en VBA?

Ejemplo 1

El primer ejemplo es mostrar la fecha completa y el trimestre de ese mes también.

Para lograr esto, necesitamos escribir un código en Visual Basic para esa pestaña Ir a Desarrollador y luego hacer clic en Visual Basic, y luego se abrirá una ventana.

En esa ventana, escriba el código como se muestra a continuación.

Código:

Sub date_Datepart () Dim mydate As Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'muestra un trimestre Fin Sub

En este ejemplo, hemos utilizado la función datepart para mostrar la fecha y una parte de la fecha que es un cuarto de la fecha. Esto muestra en qué trimestre del año está entrando la fecha.

Si depuramos el código, la fecha se mostrará como una fecha completa la primera vez que el código ejecute "Msgbox mydate" porque la fecha aleatoria se asigna a la variable "mydate".

A continuación, mostramos en qué trimestre del año se incluye esa fecha.

Cuando ejecuta el código manualmente o usando la tecla de método abreviado F5, la fecha se mostrará como se muestra después de hacer clic en Aceptar. A continuación, se mostraría el cuarto de la fecha. Esto se puede mostrar en la siguiente captura de pantalla.

Asimismo, también se puede mostrar el trimestre, solo la fecha o el mes o el año.

Ejemplo # 2

En este ejemplo, ingresaré la fecha manualmente en el tiempo de ejecución.

Código:

Sub date1_datePart () Dim TodayDate As Date 'Declarar variables. Dim Msg TodayDate = InputBox ("Ingrese una fecha:") Msg = "Trimestre:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

En este ejemplo, estamos tratando de obtener la fecha manualmente en tiempo de ejecución. El código “TodayDate = InputBox (“ Ingrese una fecha: ”)” esta línea indica que la fecha se puede ingresar manualmente,

Después de ingresar la fecha manualmente, muestra el trimestre de la fecha en un cuadro de mensaje. Esto se puede mostrar en la siguiente captura de pantalla.

Como el mes de Junio es en el segundo trimestre, esta muestra la 2 ª trimestre, como se muestra en la imagen anterior.

Ejemplo # 3

En este ejemplo, todos los valores se completarán en las celdas.

Código:

Private Sub Workbook_Open () Dim DummyDate como fecha DummyDate = ActiveSheet.Cells (2, 2) ActiveSheet.Cells (2, 2) .Value = Día (DummyDate) ActiveSheet.Cells (3, 2) .Value = Hora (DummyDate) ActiveSheet .Cells (4, 2) .Value = Minute (DummyDate) ActiveSheet.Cells (5, 2) .Value = Month (DummyDate) ActiveSheet.Cells (6, 2) .Value = Weekday (DummyDate) End Sub

The dates are filled in the cells in the excel sheet, for that the code is written as Active Sheet.cells. By this code, the date which is present maybe a year, month, or date can be inserted into the given cells.

For example, in the above screenshot,

The day is to be inserted in the cells ( 2, 2) of the excel sheet. Hence the code is written as “ ActiveSheet.Cells(2, 2).Value = Day(DummyDate) “ .

Run the code using the F5 key or manually, and the result would be as shown below.

It is, by default taking date today, and it is displaying as 30 in (2,6) cell.

Likewise, for all the other data also it can be filled.

Usage of DatePart Function

  • DatePart function can be used to display the part of the date as the name indicates, i.e., if only day or month or year of the date needs to be displayed, then this function can be used.
  • Esta función también separa la fecha, el mes y el año de una fecha en particular.
  • Al usar esta función, la fecha no solo se separa. También podemos obtener el cuarto, día, hora, minuto y segundo.

Cosas para recordar

  • Esta función solo se puede utilizar como una función VBA. En Excel normal, esto no se puede utilizar.
  • Las fechas que se dan como valor en esta función se pueden dar en cualquier formato, como el formato mm-dd-aaaa o el formato DD-MM-AAAA, etc.
  • Esta función separará todos los valores por separado, como fecha, mes, año u hora, también una hora, minuto, segundos también.
  • Esto está organizado en Funciones de fecha y hora en VBA de Microsoft Excel.

Articulos interesantes...