¿cómo utilizar la función vba datepart?

La función VBA DATEPART aparece en la categoría de fecha de las funciones VBA. Cuando lo usa en código VBA, puede devolver el valor del día a partir de un valor de fecha u hora . En términos simples, puede obtener segundos, minutos, horas, días, meses o años a partir de un valor de fecha u hora.

Sintaxis

DatePart(intervalo, fecha, [primer día de la semana, [primera semana del año]])

Argumentos

  • Intervalo : una cadena para especificar qué parte de la fecha debe devolverse en el resultado.
  • Fecha : la fecha a partir de la cual debe regresar la parte de fecha.
  • [FirstDayOfWeek] : una cadena para definir el primer día de la semana [Este es un argumento opcional y, si se omite, vbSunday de forma predeterminada].
    • vbUseSystemDayOfWeek: según la configuración del sistema.
    • vbDomingo – Domingo
    • vblunday – lunes
    • vbMartes – Martes
    • vbMiércoles – Miércoles
    • vbjueves – jueves
    • vbviernes – viernes
    • vbsábado – sábado
  • [FirstWeekOfYear] : una cadena para definir la primera semana del año [Este es un argumento opcional y, si se omite, vbFirstJan1 de forma predeterminada].
    • vbSystem: dependiendo de la configuración del sistema.
    • vbFirstJan1: la semana en la que ocurre el 1 de enero.
    • vbFirstFourDays: la primera semana que contiene al menos cuatro días en el nuevo año.
    • vbFirstFullWeek: la primera semana completa del nuevo año.

Ejemplo

Para comprender prácticamente cómo usar la función VBA DATEPART, debe seguir el siguiente ejemplo donde escribimos un código vba usándola:

example-vba-datepart-function
 Sub example_DATEPART() Range("A2").Value = DatePart("d", Range("A1")) Range("A3").Value = DatePart("h", Range("A1")) Range("A4").Value = DatePart("m", Range("A1")) Range("A5").Value = DatePart("n", Range("A1")) Range("A6").Value = DatePart("q", Range("A1")) Range("A7").Value = DatePart("s", Range("A1")) Range("A8").Value = DatePart("w", Range("A1")) Range("A9").Value = DatePart("ww", Range("A1")) Range("A11").Value = DatePart("y", Range("A1")) Range("A12").Value = DatePart("yyyy", Range("A1")) End Sub

En el código anterior, utilizamos un intervalo diferente en DATEPART:

  • ‘d’ para obtener el día y devolvió 15.
  • ‘h’ para obtener las horas, pero como no tenemos tiempo en la fecha, devolvió 0 en el resultado.
  • ‘m’ para obtener el mes y devolvió 1.
  • ‘n’ para obtener los minutos pero como no tenemos tiempo en la fecha, devolvió 0 en el resultado.
  • “q” para obtener la moneda y devolvió 1.
  • ‘s’ para obtener los segundos, pero como no tenemos tiempo en la fecha, devolvió 0 en el resultado.
  • ‘w’ para obtener el día de la semana y devolvió 3.
  • ‘ww’ para obtener la semana del año y volvió 3.
  • ‘y’ para obtener el día del año y devolvió 15.
  • “aaaa” para obtener el año y volvió a 2019.

Comentarios

  • Si se proporciona una fecha sin el año, se utilizará el año actual.
  • Si el valor especificado es un valor distinto de una fecha o una fecha que no puede reconocerse como fecha, VBA devolverá el error de ejecución 13.
  • Establecer el argumento «primer día de la semana» solo funciona cuando el «intervalo» es «w» o «ww».

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *