Contenido
La función TimeValue en VBA se utiliza para convertir una cadena de texto que representa una hora en un valor de tipo Date, que en realidad es un número de punto flotante.
Sintaxis básica
VBA
TimeValue(time)
time es una expresión de cadena que representa una hora desde las 0:00:00 (12:00:00 a. m.) hasta las 23:59:59 (11:59:59 p. m.).
Ejemplo
VBA
Sub EjemploTimeValue()
Dim strHora As String
Dim tiempo As Date
' Asigna una hora en formato texto a la variable
strHora = "15:30:00" ' Esto representa 3:30 PM
' Convierte la cadena de texto a valor de tiempo
tiempo = TimeValue(strHora)
' Muestra el valor convertido en una MessageBox
MsgBox "El valor de tiempo es " & tiempo
' Ahora, tiempo es un valor de tipo Date que representa la hora indicada.
End Sub
Cuando ejecutes EjemploTimeValue, verás un mensaje con el texto «El valor de tiempo es 15:30:00».
Notas
- Si la cadena de texto no es una hora válida, TimeValue generará un error. Por ejemplo, TimeValue(«25:00:00») lanzará un error porque «25:00:00» no es una hora válida.
- La función solo considera la parte de la hora de la cadena de texto y omite la parte de la fecha (si la hay). Por ejemplo, TimeValue(«2023-04-01 15:30:00») también devolverá «15:30:00».
- TimeValue utiliza el formato de hora establecido en la configuración regional de tu sistema. Si tu sistema está configurado para utilizar el formato de 24 horas, deberías escribir las horas de esa manera.
Recuerda que TimeValue es útil cuando necesitas trabajar con horas, minutos y segundos, por ejemplo, para realizar cálculos con horas, comparaciones entre tiempos, o para establecer las propiedades relacionadas con el tiempo en controles en formularios de usuario.