VBA DatePart

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 de tipo 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 se tomará el domingo como primer día de la semana. Si desea cambiar eso, puede utilizar 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 que 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 proporcionar todos los parámetros, Datepart () devolverá el valor numérico, como la fecha completa, el año, el mes o el 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?

Puede descargar esta plantilla de Excel de VBA DatePart aquí - Plantilla de Excel de VBA DatePart

Ejemplo 1

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

Para lograr esto necesitamos escribir algún 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 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 usa 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á el cuarto de la fecha que se muestra 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 el segundo trimestre, esto muestra el segundo trimestre como se muestra en la captura de pantalla 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 

Las fechas se rellenan en las celdas de la hoja de Excel, para eso el código se escribe como Active Sheet.cells. Con este código, la fecha que está presente puede ser el año, el mes o la fecha se puede insertar en las celdas dadas.

Por ejemplo, en la captura de pantalla anterior,

El día debe insertarse en las celdas (2, 2) de la hoja de Excel. Por lo tanto, el código se escribe como "ActiveSheet.Cells (2, 2) .Value = Day (DummyDate)".

Ejecute el código usando la tecla F5 o manualmente y el resultado sería el que se muestra a continuación.

De forma predeterminada, toma la fecha de hoy y se muestra como 30 en la celda (2,6).

Asimismo, para todos los demás datos también se puede completar.

Uso de la función DatePart

  • La función DatePart se puede usar para mostrar la parte de la fecha que indica el nombre, es decir, si solo se debe mostrar el día, el mes o el año de la fecha, se puede usar esta función.
  • 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, el día, la hora, el minuto y un 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.
  • This function will separate all the values separately such as date, month, year or time also an hour, minute, seconds also.
  • This is organized under Date and Time Functions in VBA of Microsoft Excel.