Note: The other languages of the website are Google-translated. Back to English

Как создать секундомер на листе Excel?

Если на вашем листе есть секундомер, вы будете знать, когда закончить работу. Как создать секундомер на листе с кнопками «Пуск», «Стоп» и «Сброс», как показано на следующем снимке экрана? Если вы нажмете кнопку «Пуск», это будет время начала, если вы нажмете кнопку «Стоп», время остановится, а кнопка «Сброс» поможет вам сбросить время. В этой статье я расскажу о том, как создать простой и удобный секундомер в Excel.

док создать секундомер 1

Создайте секундомер с тремя кнопками с помощью кода VBA


Создайте секундомер с тремя кнопками с помощью кода VBA

Чтобы создать секундомер с тремя кнопками: «Пуск», «Стоп» и «Сброс», выполните следующие шаги один за другим.

Во-первых, вставьте три командные кнопки.

1. Нажмите разработчик > Вставить > Кнопка управления, см. снимок экрана:

док создать секундомер 2

2. Затем перетащите мышь, чтобы нарисовать кнопку, после вставки кнопки вы можете изменить заголовок кнопки, нажмите разработчик > Свойства, В Свойства диалоговом окне введите новый заголовок «Начать»Для этой кнопки в текстовом поле рядом с Подпись, смотрите скриншоты:

док создать секундомер 3 2 док создать секундомер 4

3. Повторите два вышеупомянутых шага, чтобы вставить две другие кнопки и подписать их как «Stop(Основной ключ) и Сброс”, См. Снимок экрана:

док создать секундомер 5

4. После вставки кнопок вы должны выйти из режима дизайна, нажав разработчик > Режим проектирования.

Во-вторых, создайте код VBA.

5. Затем щелкните правой кнопкой мыши вкладку текущего рабочего листа и выберите Просмотреть код, в выскочившем Microsoft Visual Basic для приложений окно, скопируйте и вставьте следующий код в Модули:

Код VBA: Создать секундомер:

Public StopIt As Boolean
Public ResetIt As Boolean
Public LastTime
Private Sub CommandButton1_Click()
Dim StartTime, FinishTime, TotalTime, PauseTime
StopIt = False
ResetIt = False
If Range("C2") = 0 Then
  StartTime = Timer
  PauseTime = 0
  LastTime = 0
Else
  StartTime = 0
  PauseTime = Timer
End If
StartIt:
  DoEvents
  If StopIt = True Then
    LastTime = TotalTime
    Exit Sub
  Else
    FinishTime = Timer
    TotalTime = FinishTime - StartTime + LastTime - PauseTime
    TTime = TotalTime * 100
    HM = TTime Mod 100
    TTime = TTime \ 100
    hh = TTime \ 3600
    TTime = TTime Mod 3600
    MM = TTime \ 60
    SS = TTime Mod 60
    Range("C2").Value = Format(hh, "00") & ":" & Format(MM, "00") & ":" & Format(SS, "00") & "." & Format(HM, "00")
    If ResetIt = True Then
      Range("C2") = Format(0, "00") & ":" & Format(0, "00") & ":" & Format(0, "00") & "." & Format(0, "00")
      LastTime = 0
      PauseTime = 0
      End
    End If
    GoTo StartIt
  End If
End Sub
Private Sub CommandButton2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  StopIt = True
End Sub
Private Sub CommandButton3_Click()
  Range("C2").Value = Format(0, "00") & ":" & Format(0, "00") & ":" & Format(0, "00") & "." & Format(0, "00")
  LastTime = 0
  ResetIt = True
End Sub

док создать секундомер 6

Внимание: В приведенном выше коде C2 это ячейка, в которую будет вставлено время секундомера, а CommandButton1, CommandButton2, CommandButton3 являются названиями кнопок, вы можете просмотреть точное название кнопки в Имя Box, см. снимок экрана:

док создать секундомер 7

В-третьих, отформатируйте ячейку времени секундомера.

6. Затем вы должны отформатировать ячейку времени как Текст формат, и вы можете изменить размер ячейки, шрифт, цвет шрифта, фон и т. д., как вам нужно, см. снимок экрана:

док создать секундомер 8

7. После завершения вышеуказанных шагов, с этого момента, когда вы нажимаете Начать кнопку, время начнется сейчас, и нажмите Stop кнопка, это остановит время, Сброс кнопка сбросит время, см. снимок экрана:

док создать секундомер 9


Демонстрация: создание секундомера с тремя кнопками с помощью кода VBA


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (30)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо за этот пост, он был очень полезен. Однако есть ли способ настроить код, чтобы таймер не останавливался при редактировании ячейки? В идеале я хотел бы нажать «Пуск», внести ряд изменений в диапазон ячеек на той же вкладке, а затем нажать «Стоп» в течение всего прошедшего времени. Любой совет по этому поводу будет принят с благодарностью!
Этот комментарий был сведен к минимуму модератором на сайте
ты когда-нибудь разбирался в этом? Мне тоже нужно, чтобы таймер работал, пока другие изменения вносятся в ту же таблицу. Благодарю. Майк
Этот комментарий был сведен к минимуму модератором на сайте
Это было большим подспорьем и очень легко следовать шагам.
Этот комментарий был сведен к минимуму модератором на сайте
Пытались создать секундомер, используя те же коды в Forms. Таймер запускается нормально, но не останавливается. Пожалуйста, предложите, как воспроизвести то же самое в формах
Этот комментарий был сведен к минимуму модератором на сайте
Попробуйте секундомер XNote.
Этот комментарий был сведен к минимуму модератором на сайте
Есть ли способ заставить таймер считать вверх или вниз до определенного времени? Я хочу сохранить кнопки «Пуск», «Стоп» и «Сброс», но мне нужно, чтобы он отсчитывал до одной минуты только одну секунду, как только я нажимаю «Пуск». Или обратный отсчет от одной минуты до одной секунды до нуля (01:01). Спасибо за вашу помощь!
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Мелисса,
Если вам нужно создать таймер обратного отсчета на рабочем листе, возможно, следующая статья поможет вам!
https://www.extendoffice.com/documents/excel/2144-excel-countdown-timer.html
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,

Я видел эту статью, но мне нужно, чтобы она выглядела точно так же, как секундомер на этой странице, но мне нужно, чтобы она отсчитывала только от одной минуты до секунды. Мне нужно, чтобы он отображался в форме секундомера, но работал как обратный отсчет. Любые дальнейшие советы?


Спасибо за ответ!
Этот комментарий был сведен к минимуму модератором на сайте
Это для табло, которое мы разработали в Excel.
Этот комментарий был сведен к минимуму модератором на сайте
Отлично, но можно ли запустить 2 часа на одном листе? сделали вторые часы с новой кнопкой запуска, остановки и сброса, но при запуске вторых часов первые останавливаются....
Этот комментарий был сведен к минимуму модератором на сайте
здесь же вы можете найти лекарство от этого
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте друзья,
Этот метод применяется только к одному набору кнопок на листе.
Если есть другие хорошие идеи, пожалуйста, прокомментируйте здесь.
Этот комментарий был сведен к минимуму модератором на сайте
Можно ли автоматически останавливать таймер при блокировке экрана и автоматически запускать таймер при разблокировке компьютера?
Этот комментарий был сведен к минимуму модератором на сайте
Есть ли способ, чтобы таймер сбросил счетчик до нуля, но при этом продолжал работать? Т.е. Когда я нажимаю «Сброс», я не хочу снова нажимать «Пуск», чтобы время истекло.
Этот комментарий был сведен к минимуму модератором на сайте
Добрый день, пользуюсь этим стоппером, но довольно часто цифры в ячейке дисплея ("С2") начинают гадить и слетать - минус показывает, цифры неверные и счет сбивается. Обычно это происходит примерно через час или больше, но иногда даже до того, как пройдет час. Это распространенная ошибка? и если да, то есть ли способ это исправить? Я удалил .00 (т.е. миллисекунды) из кода, просто стерев: & "." Строка & Format(0, "00"), где бы она ни появлялась - это как-то связано с этой проблемой?
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо за ваш совет, он работал гладко, но когда я ввожу какие-либо данные в этот лист, он перестал работать, нам нужно, чтобы он продолжал работать некоторое время, ввод данных. Как мы можем решить эту проблему?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Нён,
Может быть там не очень хороший способ решения вашей проблемы. Когда вы редактируете ячейку, это прерывает текущий выполняемый макрос.
Если у вас есть другой хороший метод, пожалуйста, прокомментируйте здесь!
Спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
ПРИВЕТ. Я создал секундомер, но мне нужно иметь возможность сохранять различные интервалы между запуском и остановкой, чтобы иметь возможность отражать их как исследование времени и движения. Любые советы о том, как это сделать?
Этот комментарий был сведен к минимуму модератором на сайте
Выполнены все шаги, но нажатие кнопки «Пуск» выдает сообщение об ошибке «Не удается запустить макрос «'file.xlsm'! CommandButton1». Макрос может быть недоступен в этой книге или все макросы могут быть отключены». Все макросы включены, макрос находится в Module1. ПРИМЕЧАНИЕ. Я использую Office 2019 для Mac, так что это может быть проблемой....
Этот комментарий был сведен к минимуму модератором на сайте
Как насчет добавления функции «+10s» и «2x Speed» в этот код?
Этот комментарий был сведен к минимуму модератором на сайте
здесь «таймер» является переменной? не вижу его актуальности в коде.
Этот комментарий был сведен к минимуму модератором на сайте
Можно ли заставить счетчик считать только секунды?
Поэтому, когда он достигает 59 секунд, он продолжается с 60, 61, 62, 63 ....
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте
Выполнили шаги, но не можете получить время, чтобы появиться в ячейке таймера. Я скопировал код, но могу ли я проверить 1. Что номера строк не нужны или они2. Что я поместил код в модуль 1, а не в лист1 или эту книгу3. Должен ли быть макрос, указанный в списке макросов после всего этого - у меня его нет.
Спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Дженис, Вы должны поместить код в свой активный модуль листа в качестве шага 5.
5. Затем щелкните правой кнопкой мыши вкладку текущего рабочего листа и выберите «Просмотреть код», в появившемся окне Microsoft Visual Basic для приложений скопируйте и вставьте следующий код в модуль.

И вы должны изменить имя кнопки на свое собственное.
Примечание. В приведенном выше коде C2 — это ячейка, в которую будет вставлено время секундомера, а CommandButton1, CommandButton2, CommandButton3 являются названиями кнопок, вы можете просмотреть точное название кнопки в поле «Имя».

Пожалуйста, проверьте их, спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Это гениально! Спасибо, Крис Х.
Этот комментарий был сведен к минимуму модератором на сайте
Можно ли использовать поле со списком или раскрывающийся список для запуска и остановки часов
Этот комментарий был сведен к минимуму модератором на сайте
Bonjour, j'ai voulu intégrer ce chronomètre à une autre macro, déterminer le temps d'utilisation du fichier. La macro se lance mais bloque l'utilisation du fichier.Comment Faire pour utiliser votre chronomètre en même temps que d'autres code VBA? MerciHenry.
Этот комментарий был сведен к минимуму модератором на сайте
Привет! Спасибо за это, как мне сделать так, чтобы время заполнялось в последующих ячейках, например. время начала/остановки для ячейки C2, затем другое время начала/остановки для ячейки c3, c4, c5 и т. д. 
Здесь еще нет комментариев
Загрузить ещё
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL