Я пытаюсь отобразить миллисекунды в макросе Excel. У меня есть столбец целых чисел, которые являются метками времени в миллисекундах (например, 28095200 7:48:15.200), и я хочу сделать новый столбец рядом с ним, который сохраняет рабочее среднее число и отображает время в a 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")
Это только отображает "mm:ss.0" в ячейке. Все же, когда я нажимаю на ячейку, она показывает "hh:mm:ss" в панели формул. Почему часы отсутствуют? Как я могу показать часы, минуты, секунды и миллисекунды?
Щелкните правой кнопкой мыши ячейку B1
и выберите Форматировать ячейки . В Custom введите следующее в текстовое поле с надписью Type :
[h]:mm:ss.000
Чтобы установить это в коде, вы можете сделать что-то вроде:
Range("A1").NumberFormat = "[h]:mm:ss.000"
Это должно дать вам то, что вы ' повторно ищем.
ПРИМЕЧАНИЕ. Для специально отформатированных полей часто требуется, чтобы ширина столбца была достаточно широкой для всего содержимого форматированного текста. В противном случае текст будет отображаться как ######
.
Я сделал это в Excel 2000.
Этот оператор должен быть: мс = Round (temp - Int (temp), 3) * 1000
Вам необходимо создать пользовательский формат для ячейки результата [h]: mm: ss.000