Отображение миллисекунд в Excel
Я пытаюсь отобразить миллисекунды в макросе Excel. У меня есть столбец целых чисел, которые представляют собой временные метки в миллисекундах (например, 28095200 - 7: 48: 15.200 утра), и я хочу создать рядом с ним новый столбец, в котором будет храниться скользящее среднее и отображать время в формате 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")
В ячейке отображается только "мм: сс .0". Тем не менее, когда я нажимаю на ячейку, в строке формул отображается "чч: мм: сс". Почему часы не хватает? Как я могу показать часы, минуты, секунды и миллисекунды?
Ответы
Ответ 1
Щелкните правой кнопкой мыши на ячейке B1
и выберите "Форматировать ячейки". В разделе "Пользовательский" в текстовое поле с надписью "Тип" введите
[h]:mm:ss.000
Чтобы установить это в коде, вы можете сделать что-то вроде:
Range("A1").NumberFormat = "[h]:mm:ss.000"
Это должно дать вам то, что вы ищете.
ПРИМЕЧАНИЕ. В специально отформатированных полях часто требуется, чтобы ширина столбца была достаточно широкой для всего содержимого форматированного текста. В противном случае текст будет отображаться как ######
.
Ответ 2
Я обнаружил в Excel 2007, если результаты представляют собой таблицу из встроенного запроса, ss.000 не работает. Я могу вставить результаты запроса (из SQL Server Management Studio) и отформатировать время просто отлично. Но когда я вставляю запрос в виде соединения данных в Excel, формат всегда дает .000 как миллисекунды.
Ответ 3
Я сделал это в Excel 2000.
Это утверждение должно быть: ms = Round(temp - Int(temp), 3) * 1000
Вам нужно создать пользовательский формат для ячейки результатов [h]:mm:ss.000
Ответ 4
Сначала укажите эпоху миллисекундного времени как дату (обычно 1/1/1970), затем добавьте миллисекунду времени, деленное на количество миллисекунд в день (86400000):
=DATE(1970,1,1)+(A1/86400000)
Если ваша ячейка правильно отформатирована, вы должны увидеть дату/время для человека.