Отображение миллисекунд в Excel

Я пытаюсь отобразить миллисекунды в макро Excel. У меня есть столбец целых чисел, которые являются метками времени в миллисекундах (например, 28095200-7: 48: 15.200 am), и я хочу сделать новый столбец рядом с ним, который сохраняет среднее значение и отображает время в .

 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" в строке формул. Почему пропали часы? Как я могу показать часы, минуты, секунды, а миллисекунды?

4 ответов


Правой Кнопкой Мыши на ячейке B1 и выбрать Формат Ячеек. В таможни, поместите следующее в текстовое поле с надписью тип:

[h]:mm:ss.000 

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

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

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

Примечание: специально отформатированные поля часто требуют, чтобы ширина столбца была достаточно широкой для всего содержимого отформатированного текста. В противном случае текст будет отображаться как ######.


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


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

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

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


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

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

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