У меня есть формат времени чч: мм: сс в одной ячейке и такое же отформатированное время в другой ячейке.

Я вычисляю разницу этих двух ячеек и получаю чч: мм: 00 как мою разницу.

Что я прошу, если кто-то может помочь мне получить разницу во времени, рассчитанную с помощью часов: минут, а также секунд.

2 ответа2

2

Как вы рассчитываете разницу?

Если вы используете вычитание, как это в C2

=B2-A2

при условии, что позже в B2

затем отформатируйте C2 как чч: мм: сс, вы должны получить правильную разницу, включая секунды - я полагаю, оба раза в один и тот же день?

1

Ну, используя Ctrl + Shift + ; объясняет вашу проблему Я бы порекомендовал сначала отформатировать столбец, в который вы вставляете время, как hh:mm:ss .

Введите формулу =NOW() и после нажатия клавиши Enter сразу скопируйте / вставьте значения, чтобы удалить формулу и извлечь только значение времени. Проблема в том, что вы должны вводить одну формулу за раз, так как другая будет пересчитываться по мере ввода новых формул.

Тогда вычитание должно работать так, как вы хотите.

РЕДАКТИРОВАТЬ:

Хорошо, я поднял свой рекордер макросов и провел некоторое исследование, и придумал этот кусок кода:

Private Sub Workbook_Open()
    Application.OnKey "+^:", "Insert_Time"
End Sub

Sub Insert_Time()
    ActiveCell.FormulaR1C1 = "=NOW()"
    Selection.NumberFormat = "hh:mm:ss;@"
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

Поместите это в VisualBasic.

  1. Перейдите на вкладку "Разработчик"> "Visual Basic"
  2. Щелкните правой кнопкой мыши на "ThisWorkbook" на правой панели и найдите "Вставить"> "Модуль"
  3. В текстовом поле, которое откроется в большой левой области, введите код.
  4. Выполните "Файл"> "Экспорт" и дайте имя модулю, чтобы другие пользователи могли импортировать код, а не делать это снова и снова. Убедитесь, что расширение '.bas' есть (я еще не знаком с vba, но пока что .bas сделал то, что я хотел). Чтобы импортировать модуль, выполните "Файл"> "Импорт" и найдите модуль.
  5. Почти готово! Убедитесь, что курсор находится где-то внутри Private Sub а затем нажмите маленькую зеленую кнопку "Воспроизвести" над текстовым полем. Я не знаю, почему вы должны делать это каждый раз, и я не знаю, как решить это сейчас, извините!

Если вы не можете найти вкладку «Разработчик», перейдите в «Параметры Excel», нажав на круглую кнопку Excel в верхнем левом углу окна, «Популярные» и отметьте «Показать вкладку разработчика на ленте», затем «ОК». ».

Наконец, чтобы использовать его, просто выполните обычные Ctrl + Shift + ; и это должно работать.

Попробуйте и дайте мне знать, как это происходит!

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