Contenido
`FormatDateTime` es una función en VBA (Visual Basic for Applications) que se utiliza para formatear fechas y horas según las configuraciones regionales del sistema o un formato específico proporcionado por el usuario. Esta función toma un valor de fecha/hora y, opcionalmente, una constante que define el formato de fecha/hora deseado.
Sintaxis básica de `FormatDateTime`:
FormatDateTime(Date[, NamedFormat])
Donde:
vbGeneralDate ' Muestra la fecha y/o la hora. Si hay una fecha y una hora, entonces ambas se muestran; si solo hay una fecha o una hora, se muestra solo eso.
vbLongDate ' Muestra la fecha con el formato de fecha larga especificado en la configuración regional.
vbShortDate ' Muestra la fecha con el formato de fecha corta especificado en la configuración regional.
vbLongTime ' Muestra el tiempo con el formato de tiempo largo especificado en la configuración regional.
vbShortTime ' Muestra la hora con el formato de hora corta especificado en la configuración regional.
- `Date`: Es la expresión de fecha/hora que deseas formatear.
- `NamedFormat`: (opcional) Es un valor numérico o una constante de enumeración que especifica el formato de fecha/hora. Puede ser una de las siguientes constantes de enumeración de VBA:
Ejemplo de uso de `FormatDateTime`:
Sub EjemploFormatDateTime()
Dim fechaHora As Date
fechaHora = Now ' Asigna la fecha y hora actual
' Utilizar FormatDateTime para formatear la fecha/hora actual
Debug.Print FormatDateTime(fechaHora, vbGeneralDate)
Debug.Print FormatDateTime(fechaHora, vbLongDate)
Debug.Print FormatDateTime(fechaHora, vbShortDate)
Debug.Print FormatDateTime(fechaHora, vbLongTime)
Debug.Print FormatDateTime(fechaHora, vbShortTime)
End Sub
En este ejemplo, `Now` devuelve la fecha y hora actual, y `FormatDateTime` se utiliza para imprimir diferentes formatos de la fecha/hora.
Si no se proporciona el parámetro `NamedFormat`, la función `FormatDateTime` utiliza `vbGeneralDate` como predeterminado.
Recuerda que la presentación final de la fecha y hora formateadas por `FormatDateTime` dependerá de la configuración regional y de idioma del sistema donde se ejecute el código VBA.
Por último, si deseas formatos personalizados más allá de lo que permite `FormatDateTime`, puedes utilizar la función `Format`, que ofrece una mayor flexibilidad para definir formatos de fecha/hora personalizados.