Отображение миллисекунд в 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") 

По какой-то причине это отображает только «мм: ss.0» в ячейке. Но когда я нажимаю на ячейку, она показывает «hh: mm: ss» в строке формул. Почему часы не хватает в камере?

Кроме того, возникает еще одна странная вещь, если я изменю последнюю строку на Strings.Format(ms, "#000.") 000. Strings.Format(ms, "#000.") , Затем я получаю «hh: mm: ss.000». Это то, чего я хочу, просто не дополнительный период.

Щелкните правой кнопкой мыши на ячейке B1 и выберите « Форматировать ячейки» . В поле « Пользовательский» в текстовое поле с надписью « Тип» введите следующее:

 [h]:mm:ss.000 

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

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

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

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

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

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

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

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

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

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

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

  • Запись даты из Excel VBA на рабочий лист дает неправильное значение
  • Преобразование времени OpenOffice Calc
  • Excel изменяет формат времени на datetime с помощью MSQuery
  • Дата и время процесса, импортированные из excel в R
  • Расчет даты и времени Excel
  • Сумма времени в Excel, чтобы показать большое количество дней
  • Построение нескольких длительностей в Excel
  • Как переключиться с PM / AM на 24h в Excel с помощью VBA
  • Дневное время для использования функции excel vba
  • Преобразование строки, содержащей дни, часы и минуты в hh: mm: ss
  • VBA Excel: добавьте каждую секунду
  • Interesting Posts

    Замените запятую с разрывом в ячейке

    простая программа с использованием jacob и excel

    Ошибка при копировании файлов в существующую папку

    Excel Reader c # (проблема с E + 15)

    Добавить в файл excel с помощью ClosedXML

    VLOOKUP из другой книги, но ошибка # значение

    Как конвертировать Excel Cells для Datazen?

    Excel VBA: должен быть лучший способ использовать цикл для удаления строк на основе содержимого ячейки

    чтение файла excel с использованием хранимых процедур

    Поиск подстановочных строк VBA Excel, копирование и вставка в новую ячейку

    Excel 2016 (mac) VBA ExportAsFixedFormat Fails

    VBA: Как вернуть ссылку на ячейку из переменной, которая ищет значение?

    Merge + unmerge ячейки для нормализации таблицы на основе первого столбца; вставить новые строки между объединенным контентом

    Отремонтированные записи: информация соты из листа, созданного с нуля

    Вызвать незарегистрированную .NET dll из Excel VBA

    Давайте будем гением компьютера.