Как переключиться с PM / AM на 24h в Excel с помощью VBA

как 4 Оставшаяся обложка заявила о своей проблеме с переключением 24 часа в формат PM / AM – EXCEL VBA Timevalue (чч: мм am / pm)

У меня есть совершенно противоположная проблема:

Я использую следующий код (t = 1,39)

t = wks.Range("G1").Value / 1440 wks.Range("I1").Value = Format(t, "hh:mm:ss") 

который дает мне 00:01:23 в текстовом поле формулы, но в ячейке он отформатирован как 12:01:23. Проблема в том, что в ячейке я хочу, чтобы она была отформатирована как 00:01:23. Если возможно – я бы даже хотел, чтобы это было всего несколько минут и секунд. – но «nn: ss» дает мне 1:23:00, а «mm: ss» дает мне 12:23:00 PM.

Я также пробовал функцию TimeSerial, но вывод в ячейке в основном такой же, как упоминалось выше. Однако в отличие от debug.print, который дает мне желаемые результаты, но не в ячейке:

 Public Function FromTimeToDecimal(ByVal t As Double) As Date FromTimeToDecimal = TimeSerial(0, Fix(t), (t - Fix(t)) * 60) End Function 

Так что в принципе я не знаю, в данный момент

(настройка страны устанавливается в Германию – в случае, если это имеет значение)

Я могу реплицировать вашу проблему, но также легко исправить ее, установив NumberFormat как говорит Коминтерн, о котором вы, похоже, не знаете.

Чтобы сделать это программно, выполните следующие действия:

 wks.Range("I1").NumberFormat = "General" wks.Range("I1").Value = Format(t, "nn:ss") 
  • время преобразования от excel до matlab
  • Как я могу рассчитывать, используя ссылку на время?
  • Работа с отрицательными временами в excel
  • Как я могу отформатировать время в excel с 2017-02-17 01:59:57 UTC?
  • Запись даты из Excel VBA на рабочий лист дает неправильное значение
  • Ограничение отметки времени VBA в excel только на несколько строк
  • Найти продолжительность времени в пределах диапазона
  • Интерконвертирование POSIXct и числовое значение в R
  • Невозможно преобразовать серийный номер в формат даты и времени
  • Тип данных за 1:00 (количество часов) в c #
  • Excel VBA: если время находится между двумя моментами, добавьте текст в строку, а не пустую
  • Давайте будем гением компьютера.