Mostrar la hora en formato hh: mm.sss usando VBA
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 en 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: 30s.
Siga a continuación el código
Option Explicit Function HHMMSSSFormat(DateTime As Date) As String 'function will return string value 'Declaring integer variable Dim SecondValue As Integer 'Extracting seconds from DateTime parameter SecondValue = Second(DateTime) 'Converting seconds value to three digit number SecondValue = (SecondValue / 60) * 1000 'Change the formatting of time in the required format HHMMSSSFormat = Format(Hour(DateTime), "00") & ":" & _ Format(Minute(DateTime), "00") & "." & Format(SecondValue, "000") End Function Sub GettingCurrentTimeinHHMMSSSFormat() 'Declaring string variable Dim CurrentTime As String 'Calling custom function HHMMSSSFormat CurrentTime = HHMMSSSFormat(Now) 'Displaying message box with Ok button only MsgBox CurrentTime, vbOKOnly, "Current Time" End Sub
Si te gustó este blog, compártelo con tus amigos en Facebook y Facebook.
Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]