Mostrar la hora en formato hh: mm.sss usando VBA

Anonim

En este artículo, crearemos una macro para formatear la hora en formato hh: mm.sss.

Los datos brutos para este ejemplo consisten en ciertos valores de tiempo en la columna E.

En este artículo, hemos creado una función definida por el usuario (o función personalizada) "HHMMSSSFormat". Esta función toma el tipo de fecha como entrada y devuelve la salida en un tipo de datos de cadena en formato hh: mm.sss.

Explicación lógica

En la función “HHMMSSSFormat” para convertir 60 segundos a un número de tres dígitos, hemos dividido los segundos en el valor de tiempo definido por 60 para obtener la fracción de los segundos definidos y luego lo hemos multiplicado por mil para obtener el número de tres dígitos.

La función “HHMMSSSFormat” se puede usar llamando directamente en la hoja de Excel o usando la función dentro del otro procedimiento (o macro).

La siguiente imagen muestra cómo hemos utilizado la función “HHMMSSSFormat” en la hoja de Excel para derivar la hora en formato hh: mm.sss.

También hemos creado una macro "GettingCurrentTimeinHHMMSSSFormat" que utiliza la función "HHMMSSSFormat" para mostrar la hora actual en formato hh: mm.sss en un cuadro de mensaje. La siguiente imagen muestra la salida cuando ejecutamos esta macro a las 3:54:30 s.

Siga a continuación para obtener el código

 Opción Función explícita HHMMSSSFormat (DateTime As Date) As String 'La función devolverá el valor de cadena' Declarando variable entera Dim SecondValue As Integer 'Extrayendo segundos del parámetro DateTime SecondValue = Second (DateTime)' Conversión del valor de segundos a un número de tres dígitos SecondValue = (SecondValue / 60) * 1000 'Cambie el formato de la hora en el formato requerido HHMMSSSFormat = Format (Hour (DateTime), "00") & ":" & _ Format (Minute (DateTime), "00") & "." & Format (SecondValue, "000") End Function Sub GettingCurrentTimeinHHMMSSSFormat () 'Declarando variable de cadena Dim CurrentTime As String' Llamando a la función personalizada HHMMSSSFormat CurrentTime = HHMMSSSFormat (Now) 'Mostrando cuadro de mensaje con el botón Ok solamente MsgBox CurrentTime, vbOKOnly, " "End Sub 

Si te gustó este blog, compártelo con tus amigos en Facebook. Además, puede seguirnos en Twitter y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos al sitio de correo electrónico