1

У меня есть ячейка с некоторым значением времени, например, 12:30 . Я хотел бы, чтобы это отображалось как 30 .

Я хочу работать только с форматами (то есть с "представлением"). Так что нет VBA, нет лишних преобразований.

Я пытался использовать формат mm , но Excel думает, что я хочу месяцы. Использование формата mm:ss приводит к 30:00 .

Так что, действительно, mm обозначает как "месяцы", так и "минуты".

Есть идеи?

PS: "Мой Excel" на английском, но форматы на французском ("месяцы" = "моис" также на французском => mm ; "минуты" = "минуты" на французском => mm ).

3 ответа3

1

Честно говоря, вероятно, проще использовать =MINUTE() . Если вам не нужны часы и секунды, вы всегда можете скопировать минутную информацию и вставить ее как текст, а затем удалить столбец полного времени.

Вы можете преобразовать 24-часовое время в минуты, используя формат [m] , но затем вам придется вычесть час, например

13:45 --> 825 minutes --> 825 - (13*60) = 45 minutes
0

Вот образец (для ячейки D1).

Скажем, D1 имеет формулу, которая отображает время:

и мы хотим показать только минуты. Поместите следующий макрос событий в область кода рабочего листа:

Private Sub Worksheet_Calculate()
    With Range("D1")
        v = Minute(.Value)
        f = .NumberFormat
        If InStr(.NumberFormat, ";;;") > 0 Then
            ActiveWorkbook.DeleteNumberFormat NumberFormat:=f
        End If
        .NumberFormat = Chr(34) & v & Chr(34) & ";;;"
    End With
End Sub

Каждый раз, когда лист вычисляется, макрос корректирует формат D1, чтобы отображать только минуты. (код также удаляет предыдущие пользовательские числовые форматы, чтобы предотвратить вечный формат форматирования)

Поскольку это код рабочего листа, его очень легко установить и использовать автоматически:

  1. щелкните правой кнопкой мыши имя вкладки в нижней части окна Excel
  2. выберите View Code - откроется окно VBE
  3. вставьте материал и закройте окно VBE

Если у вас есть какие-либо проблемы, сначала попробуйте на пробную версию.

Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx

Чтобы удалить макрос:

  1. вызвать окна VBE, как указано выше
  2. очистить код
  3. закройте окно VBE

Чтобы узнать больше о макросах в целом, смотрите:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

а также

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Чтобы узнать больше о макросах событий (код листа), см .:

http://www.mvps.org/dmcritchie/excel/event.htm

Макросы должны быть включены, чтобы это работало!

0

проверьте настройки Windows. У вас может быть собственный формат даты, который мешает правильному форматированию в Excel.

  1. Откройте панель управления.
  2. Нажмите на ссылку Часы, Язык и Регион.
  3. Нажмите на ссылку Изменить дату, время или форматы чисел.
  4. На вкладке «Форматы» нажмите кнопку «Дополнительные настройки».
  5. Нажмите на вкладку Время.
    В разделе «Форматы времени» вы заметите, что теперь вы можете изменять различные аспекты формата времени. Проверьте, есть ли у вас определенный формат времени, определенный там.
  6. Нажмите на вкладку Дата.
    В разделе «Форматы даты» вы заметите, что есть больше возможностей для изменения формата даты. Проверьте, есть ли у вас определенный формат даты, определенный там.
  7. Сброс для восстановления настроек системы по умолчанию (кнопка внизу)

В основном это должно работать так, как вы определили. В моей Системе (немецкий язык) он правильно форматируется за считанные минуты.

+------------------+------------------+
|      on screen   |  Custom format   |
+------------------+------------------+
| 43278.58194      | Standard         |
| 27.06.2018       | TT.MM.JJJJ       |
| 27.06.2018 13:58 | TT.MM.JJJJ hh:mm |
| 58:00            | mm:ss            |
| 58               | mm               |
+------------------+------------------+

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .