Отображать миллисекунды в Excel - PullRequest
114 голосов
/ 22 июня 2010

Я пытаюсь отобразить миллисекунды в макросе 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».Тем не менее, когда я нажимаю на ячейку, в строке формул отображается «чч: мм: сс».Почему часы не хватает?Как я могу показать часы, минуты, секунды и миллисекунды?

Ответы [ 4 ]

210 голосов
/ 22 июня 2010

Щелкните правой кнопкой мыши ячейку B1 и выберите Формат ячеек . В Custom введите в текстовое поле, помеченное Тип :

[h]:mm:ss.000 

Чтобы установить это в коде, вы можете сделать что-то вроде:

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

Это должно дать вам то, что вы ищете.

ПРИМЕЧАНИЕ. В специально отформатированных полях часто требуется, чтобы ширина столбца была достаточно широкой для всего содержимого форматированного текста. В противном случае текст будет отображаться как ######.

6 голосов
/ 12 ноября 2012

Я обнаружил в Excel 2007, что если результаты представляют собой таблицу из встроенного запроса, ss.000 не работает. Я могу вставить результаты запроса (из SQL Server Management Studio) и просто отформатировать время. Но когда я встраиваю запрос как соединение данных в Excel, формат всегда дает .000 в виде миллисекунд.

4 голосов
/ 22 июня 2010

Я сделал это в Excel 2000.

Это утверждение должно быть: ms = Round(temp - Int(temp), 3) * 1000

Вам необходимо создать пользовательский формат для ячейки результата [h]:mm:ss.000

0 голосов
/ 30 января 2017

Сначала представьте эпоху миллисекундного времени как дату (обычно 1/1/1970), затем добавьте свое миллисекундное время, деленное на количество миллисекунд в дне (86400000):

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

Если ваша ячейка отформатирована правильно, вы должны увидеть удобочитаемую дату / время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...