Estoy tratando de mostrar milisegundos en una macro de Excel. Tengo una columna de enteros que son marcas de tiempo en milisegundos (por ejemplo, 28095200 es 7:48: 15.200 am), y quiero crear una nueva columna junto a ella que mantenga un promedio móvil y muestre la hora en un hh:mm:ss.000formato.
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, los minutos, los segundos y los milisegundos?

3en laRoundfunción. Esto asegura que obtenga 3 lugares decimales en lugar de solo 2..debe reemplazarse con,, al igual que para los lugares decimales en números. De lo contrario, Excel se quejará de que no es un formato válido. Entonces, tiene que ser[h]:mm:ss,000