Как переключиться с PM / AM на 24h в Excel с помощью VBA
как 4 Оставшаяся обложка заявила о своей проблеме с переключением 24 часа в формат PM / AM – EXCEL VBA Timevalue (чч: мм am / pm)
У меня есть совершенно противоположная проблема:
Я использую следующий код (t = 1,39)
- Преобразование MM: SS.ms в секунды с использованием MS excel
- Ошибка суммирования времени с помощью файла Excel Excel, связанного с PL-SQL
- Проблема столбца fromate при чтении Excel в c #
- Excel изменяет формат времени на datetime с помощью MSQuery
- Excel: сообщение VBA и refreshall закончилось?
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
Так что в принципе я не знаю, в данный момент
(настройка страны устанавливается в Германию – в случае, если это имеет значение)
- Отображение миллисекунд в Excel
- Как подсчитать количество лет между двумя датами
- Если выражение, использующее формат времени в Excel
- Проблемы с VBA для управления мышью
- используйте IF () с TIMEVALUE () в excel
- Поиск количества дней и времени между 2 датами / раз в excel
- Функция «WEEKDAY» дает неправильное значение?
- Добавление и вычитание Timecode в Excel
Я могу реплицировать вашу проблему, но также легко исправить ее, установив NumberFormat
как говорит Коминтерн, о котором вы, похоже, не знаете.
Чтобы сделать это программно, выполните следующие действия:
wks.Range("I1").NumberFormat = "General" wks.Range("I1").Value = Format(t, "nn:ss")