sumar separar segundos restar para minutos milisegundos milisegundo horas hora formato extraer como excel time excel-vba

separar - Mostrar milisegundos en Excel



sumar horas en excel (4)

Estoy tratando de mostrar milisegundos en una macro de Excel. Tengo una columna de números enteros que son marcas de tiempo en milisegundos (por ejemplo, 28095200 es 7: 48: 15.200 a.m.), y quiero hacer una nueva columna al lado, que mantiene un promedio continuo y muestra la hora en un hh:mm:ss.000 Formato hh:mm:ss.000

Dim Cel As Range Set Cel = Range("B1") temp = Application.Average(Range("A1:A2")) / 1000 ms = Round(temp - Int(temp), 2) * 1000 Cel.Value = Strings.Format((temp / 60 / 60 / 24), "hh:mm:ss") _ & "." & Strings.Format(ms, "#000")

Esto solo muestra "mm: ss.0" en la celda. Sin embargo, cuando hago clic en la celda, muestra "hh: mm: ss" en la barra de fórmulas. ¿Por qué faltan las horas? ¿Cómo puedo mostrar las horas, minutos, segundos y milisegundos?


Descubrí en Excel 2007, si los resultados son una tabla de una consulta incrustada, el ss.000 no funciona. Puedo pegar los resultados de la consulta (desde SQL Server Management Studio) y formatear la hora perfectamente. Pero cuando inserto la consulta como una conexión de datos en Excel, el formato siempre da .000 como milisegundos.


Haga clic con el botón derecho en la Celda B1 y elija Formato de celdas . En Personalizar , coloque lo siguiente en el cuadro de texto etiquetado Tipo :

[h]:mm:ss.000

Para establecer esto en el código, puede hacer algo como:

Range("A1").NumberFormat = "[h]:mm:ss.000"

Eso debería darte lo que estás buscando.

NOTA: Los campos con formato especial a menudo requieren que el ancho de la columna sea lo suficientemente amplio para todo el contenido del texto formateado. De lo contrario, el texto se mostrará como ###### .


Hice esto en Excel 2000.

Esta declaración debería ser: ms = Round(temp - Int(temp), 3) * 1000

[h]:mm:ss.000 crear un formato personalizado para la celda de resultado de [h]:mm:ss.000


Primero represente la fecha del tiempo de milisegundos como una fecha (generalmente 1/1/1970), luego agregue su tiempo de milisegundos dividido por el número de milisegundos en un día (86400000):

=DATE(1970,1,1)+(A1/86400000)

Si su celda está formateada correctamente, debería ver una fecha / hora legible por humanos.