Как сделать таймер в Excel
Обновлено: 21.11.2024
Hola, tengo un problema con esta programación en donde el temporizador avanza en 2 segundos y no 1, que puedo hacer??
No entiendo cómo tengo que solucionar para que el cronometro mno se pare cuando introduzco un valor. Si себе пункт аль trabajar ан эль Excel, пункт que quiero ип cronómetro у paraquesirve эль ботон парар? Грасиас
привет, таймер запущен. проблема в том, что он автоматически останавливается при использовании других книг. как мне его запустить?
Я хочу получить около 100 показаний времени простоя на моем листе Excel. Пожалуйста, помогите мне. невозможно написать коды для схемы i2c. Я не хочу светодиодный дисплей. пожалуйста, помогите мне
ДОБРЫЙ ДЕНЬ, РЕБЯТА
Пожалуйста, мне нужно создать таймер на моем листе Excel в форме, что это будет обратный отсчет до определенного, например, 45 дней каждые 5 дней он дает напоминание на листе с определенным цвет для каждого обратного отсчета. мне нужно как можно скорее.
Чтобы остановить таймер, когда вы вводите значения в определенные ячейки, вы должны использовать "Worksheet_Change", просто включите диапазон, который вы хотите прослушать, вам также потребуется создать глобальное логическое значение, чтобы при изменении чего-либо в ячейке диапазон, он установит для этого логического значения значение false, поэтому в следующий раз, когда он перейдет к подпроцедуре «Время», он вместо этого проверит, является ли логическое значение ложным, если вы добавите «Если TimerActive = False Then Exit Sub», в начало подпрограммы «Таймер», он завершится, если это логическое значение вернет false.
Затем внутри "Worksheet_Change" вы захотите добавить "TimerActive = True" в начале кода и что-то вроде следующего кода в любом месте.
If Not Intersect(Target, Range("B2:C57")) Is Nothing Then
TimerActive = False
End If
Это не объяснило, как запускается таймер, он запускается, как только вы открываете лист? Я смотрю, когда я добавляю значение 100, чтобы сказать ячейку «A1», таймер обратного отсчета запускается в ячейке «G2» (возможно, мигает или становится красным последние 30 секунд, чтобы показать срочность), и я хочу, чтобы он остановился, когда я введите значение в диапазоне ячеек (B2: C57) или, если в этих ячейках не было введено никакого значения, остановите его, снова щелкнув ячейку «A1» или щелкнув правой кнопкой мыши на обратном отсчете в ячейке «G2», я бы также например, получить результаты о том, сколько времени потребовалось для ввода значения в ячейки диапазона B2: C57, используя разницу между временем начала и временем окончания в ячейке, сопоставленной с ячейками диапазона, например D2. Не уверен, что все это имеет смысл, но мне бы очень нужна помощь. Идея состоит в том, что когда кто-то звонит, он отмечает на листе сумму на счете и начинается обратный отсчет, чтобы они знали, как долго они разговаривают по телефону. Если они примут платеж на сумму на счете, они добавят ее в другую ячейку, а затем лист добавит, сколько времени им потребовалось, чтобы получить этот платеж в еще одной ячейке, и процесс будет идти по строке каждый раз, когда они берут новый вызов. Но только одна ячейка будет запускать процесс каждый раз.
У меня уже есть VBA, который вводит имя пользователя, и когда лист заполнен, они могут нажать кнопку отправки, и он отправит его мне по электронной почте с темой и датой и удалит все целые, чтобы они могли начать снова в следующем день. Я хотел бы просто добавить вышеуказанное прямо в этот существующий VBA, если это возможно, таким образом, мне не нужно добавлять еще один модуль. Может ли кто-нибудь помочь мне с этим, пройти меня шаг за шагом? Мои навыки работы с VBA или другими программами очень ограничены.
Вам необходимо вызвать подпроцедуру «Таймер». Обычно это делается путем вызова ее в другой подпрограмме/функции, если вы хотите, чтобы обратный отсчет начинался после ввода значения в ячейку «A1» и останавливался при вводе данных в ячейку «A1». другой диапазон, затем вам нужно прослушать изменения в этих ячейках и создать логическое значение для подпроцедуры таймера, чтобы он знал, когда остановиться, для этого создайте подпроцедуру «Worksheet_Change», она будет прослушивать рабочий лист для любого изменения, затем мы создаем белый список диапазонов, в которых будет выполняться наш код.
Sub Worksheet_Change(ByVal Target As Range)
'Логическое значение по умолчанию
Dim TimerActive As Boolean: TimerActive = True
'Здесь мы вызываем таймер и получаем значение, установленное в G2
If Not Intersect(Target, Range("A1")) Is Nothing Then
Если IsEmpty(Target), то TimerActive = False: выйти из Sub
При ошибке GoTo Errr:
Размерьте i как целое число: i = Target
ElseIf Not Intersect(Target, Range("B2:C57")) Is Nothing Then
Если IsEmpty(Target), то выйти из Sub
'При необходимости добавьте сюда код
'Ошибка обработки
Exit Sub
Errr:
MsgBox "A1 Должно быть целым числом"
Здравствуйте, Хосе, я заметил, что автор не ответил на ваш комментарий, я только недавно обнаружил его сообщение и подумал, что помогу вам, если он вам все еще нужен. Чтобы запустить таймер, вам нужно вызвать подпроцедуру, поэтому предположим, что на вашем листе есть подпрограмма, которая проверяет любые изменения в ячейке A1, например:
Это позволяет отображать таймер в любой нужной ячейке, и он будет вести обратный отсчет, пока не достигнет нуля. Я также включил метод остановки или приостановки таймера.
Для создания таймера обратного отсчета будет использоваться макрос. Однако для работы с этим учебным пособием не требуются предварительные знания макросов или VBA в Excel.
Если вы знакомы с VBA, вы можете просто скопировать полный код макроса снизу и пропустить все остальное.
Разделы:
Создайте таймер обратного отсчета
Чтобы сделать таймер обратного отсчета, нам нужно установить макрос в Excel, не волнуйтесь, это просто. Однако перед этим нам нужно настроить ячейку в электронной таблице для хранения таймера.
Когда таймер дойдет до нуля, он остановится.
Добавить функцию остановки или паузы к таймеру
Теперь, когда у нас есть работающий таймер, было бы неплохо иметь возможность его останавливать.
Для этого нам нужно добавить всего пару вещей в наш макрос.
- Нажмите Alt + F11 и перейдите к модулю, который вы добавили в предыдущем разделе. Если он еще не открыт, он должен быть указан в левой части окна и называться Module1, дважды щелкните его.
- После того как вы увидите макрос, добавьте над ним следующую строку кода:
Это все!
Теперь постоянное обращение к окну макросов, сочетание клавиш Alt + F8, может сильно раздражать, поэтому давайте заставим эти макросы запускаться с помощью некоторых кнопок на рабочем листе.
Добавить кнопки в электронную таблицу для управления таймером
Это простая функция, если у вас есть работающие макросы.
Просто перейдите в меню "Вставка" и выберите "Фигуры", а затем выберите прямоугольник со скругленными углами.
Настройте размер кнопок и добавьте к ним текст.
Щелкните правой кнопкой мыши первую кнопку и выберите «Назначить макрос».
В открывшемся окне нажмите таймер и нажмите OK.
Повторите это для следующей кнопки, очевидно, выбрав на этот раз stop_timer.
Если вы хотите узнать больше о том, как добавить кнопки в Excel и заставить их запускать макросы, ознакомьтесь с этим руководством:
Полный код макроса таймера обратного отсчета
Вот полный код макроса, необходимый для этого таймера:
Этот код входит в обычный модуль.
Примечания
Когда вы впервые запускаете таймер, может показаться, что первые пару секунд он считает быстро, но он должен быстро исправиться.
Чтобы запустить этот макрос при открытии книги Excel, прочтите следующие руководства:
Обязательно загрузите электронную таблицу, прикрепленную к этому руководству, чтобы вы могли видеть все в Excel и легко копировать/вставлять то, что вам нужно.
Вопрос? Спросите об этом на нашем форуме Excel
Курс Excel VBA — от новичка до эксперта
200+ видеоуроков 50+ часов обучения 200+ руководств Excel
С помощью этого онлайн-курса станьте мастером VBA и макросов в Excel и узнайте, как автоматизировать все свои задачи в Excel. (Опыт работы с VBA не требуется.)
Курс VBA — от новичка до эксперта
Запуск макроса в Excel с заданными интервалами
Учебное пособие: запуск макроса каждые 30 секунд, 1 минуту, 10 минут, 1 час и т. д.; этот метод позволяет т.
Годы, месяцы, дни между двумя датами в Excel
Учебное пособие: я нашел довольно запутанный метод расчета количества лет, месяцев и дней.
Отключить всплывающее окно форматирования в Excel
Учебное пособие: как остановить появление надоедливого окна форматирования, «Мини-панели инструментов», когда вы нажимаете.
Форматирование даты для отображения только дня недели в Excel
Учебное пособие: Как отформатировать дату таким образом, чтобы из этой даты отображался только день недели. Результат: .
Ручной расчет формул и функций в Excel
Учебное пособие: как заставить Excel пересчитывать все формулы и функции без редактирования или ввода .
Формы для защиты от идиотов в Excel — Часть 1 — Форматирование
Учебное пособие: Курс по формам В этом учебном пособии показано, как создать форму на обычном листе в E.
Подпишитесь на еженедельные уроки
БОНУС: подпишитесь сейчас, чтобы загрузить нашу электронную книгу Top Tutorials!
Ссылка на наши 15 лучших учебных пособий была отправлена вам, проверьте свою электронную почту, чтобы загрузить ее!
(Если вы не видите электронное письмо, проверьте папку "Спам" или "Промоакции" и обязательно добавьте нас в список контактов, чтобы получать наши электронные письма в будущем.)
Работая в IBM, я был членом международного клуба ToastMasters. Это место, где вы можете улучшить свои коммуникативные и лидерские навыки.
Интересным разделом еженедельных встреч были импровизированные выступления. В этой части встречи человеку давали тему, и он должен был на нее высказаться в течение 2 минут. Был назначен человек, который обычно регулировал время выступления и показывал зеленую карточку на 1 минуте, желтую карточку на 1:30 минуте и красную карточку через 2 минуты.
Обычно для хронометража речи используется смартфон или часы, а затраченное время записывается вручную на бумаге.
Часто бывает, что человек забывает показать цветные карточки или иногда забывает записать тайминг выступающих (со мной постоянно). Имея это в виду, я создал секундомер в Excel, который помогает отсчитывать время и записывать выступления.
Давайте сначала узнаем, как создать простой секундомер в Excel.
Это руководство охватывает:
Как создать секундомер в Excel (базовый)
Под простым/базовым секундомером в Excel я подразумеваю то, что запускается, когда мы нажимаем кнопку запуска, и останавливается, когда мы нажимаем кнопку остановки.
Как показано ниже:
Загрузить этот базовый секундомер в приложении Excel. Метод OnTime в VBA
Метод Application.OnTime можно использовать, если вы хотите запустить указанный код в будущем. Например, вы можете использовать его, чтобы показать окно сообщения, чтобы напомнить вам встать и размять ноги через 1 час или принять лекарства через 3 часа.
Синтаксис метода Application.OnTime:
Приложение. OnTime ( Самое раннее время, Процедура, Самое позднее время, Расписание)
- EarliestTime: время, когда вы хотите запустить процедуру.
- Процедура: имя процедуры, которую нужно запустить.
- LatestTime (необязательно). Если выполняется другой код, а указанный вами код не может быть запущен в указанное время, вы можете указать LatestTime, в течение которого он должен ждать. Например, это может быть EarlyestTime + 45 (что означает, что другая процедура будет ждать 45 секунд). Если даже через 45 секунд процедура не может быть запущена, она прекращается. Если вы не укажете это, Excel будет ждать, пока код можно будет запустить, а затем запустит его.
- Расписание (необязательно): если установлено значение True, будет запланирована новая временная процедура. Если False, то отменяет ранее установленную процедуру. По умолчанию это True.
Пример метода Application.OnTime
Первая часть макроса использует метод Application.OnTime и запускает процедуру ShowMessage (в двойных кавычках) через пять секунд. Процедура ShowMessage просто показывает окно сообщения с подсказкой HELLO.
Вы можете использовать этот формат для запуска любой процедуры через указанное время из текущего времени.
Используя эту концепцию, давайте рассмотрим код для создания простого секундомера в Excel.
Этот код состоит из 3 частей:
- Первая часть инициализирует текущее время переменной t . Затем вызывается другая процедура StartTimer .
- Процедура StartTimer использует переменную NextTick, которая увеличивается на 1 каждую секунду. На листе ячейка A1 имеет текущий таймер, поскольку мы указали NextTick – t -TimeValue («00:00:01»), «чч: мм: сс») в качестве значения в этой ячейке. Затем он снова запускает код StartTimer через каждую секунду.
- StopTimer отменяет процедуру Application.Ontime, присваивая расписанию значение False. Это останавливает таймер.
Вот что вы получите с приведенным выше кодом (я назначил макросы кнопкам запуска/остановки):
Это простой секундомер в Excel.
Я называю это базовым, поскольку вы не можете остановиться на середине и начать заново с того места, где остановились. Он всегда будет перезапускаться с 1, когда вы нажимаете кнопку запуска.
Теперь, когда вы изучили основы метода Application.OnTime, вы можете легко настроить его, чтобы создать любой вид секундомера в Excel.
Секундомер в Excel (для ToastMasters)
Я использовал концепцию, описанную выше, и создал секундомер в Excel, который можно использовать на собрании Toastmasters (которое я упоминал в начале этого руководства).
Вот что можно сделать с помощью этого секундомера:
- Вы можете остановить таймер, а затем снова запустить его с того же времени (записанного до этого момента).
- Вы можете сбросить таймер. Это устанавливает значение таймера на 0. Как только вы это сделаете, он автоматически запишет общее прошедшее время.
- Он меняет цвет окна таймера в зависимости от значения секундомера (это может быть хорошим напоминанием о необходимости показывать зеленые/желтые/красные карточки).
Вот как это выглядит:
В приведенной выше демонстрации я установил изменение цвета каждые пять секунд. Вы можете легко указать, когда вы хотите изменить цвет (зеленая карточка через 1 минуту, желтая карточка через 1,5 минуты и красная карточка через 2 минуты), изменив значения на листе расчета.
Как только вы нажмете кнопку сброса, цвет таймера снова станет белым, значение таймера станет равным 0, а время будет записано в столбце G.
Загрузите секундомер ToastMasters Style в Excel, чтобы включить макросы перед его использованием. Когда вы откроете книгу, вы увидите желтую кнопку «Включить содержимое». Нажмите на нее, чтобы включить макросы.
Профессионалы, которые привыкли организовывать свою жизнь в Excel, в какой-то момент хотели, чтобы в Excel был встроен таймер, помогающий отслеживать общие задачи. В этой статье показано, как создать макрос, который включает таймер/секундомер, подходящий для управления временем на листе.
Вы можете загрузить готовый файл с кодом, нажав на кнопку
Подготовка к созданию таймера
На новом листе выберите столбцы от A до F и отрегулируйте ширину столбцов до 60 пикселей, перетащив их. (или перейдите в раздел Главная ► Формат ► Ширина столбца)
Выберите диапазон C6:E7 ► на вкладке "Главная" в группе "Выравнивание" нажмите "Объединить и центрировать"
Добавьте толстую рамку к объединенным ячейкам.
Нажмите сочетание клавиш CTRL + 1 ► Нажмите на вкладку "Граница"
Выберите толстую рамку ► Выберите синий цвет ►Нажмите Контур ► ОК
Установите шрифт Impact, 28 pt, черный цвет
Применить формат времени на вкладке «Число» диалогового окна «Формат ячейки»
Введите 0:00:00 в ячейку C6 (следите за строкой формул).
Теперь нам нужно принести 3 изображения (или фигуры), которые будут использоваться в качестве кнопок для запуска, приостановки и остановки таймера. Расположите их поверх ячейки C6. Измените размер и выровняйте их.
Прежде чем мы начнем писать простой код, нам нужно понять 2 термина:
DoEvents — это команда Excel VBA, которая временно приостанавливает выполнение макроса, чтобы обновить экран и выполнить все ожидающие события в Excel. Это может позволить пользователю взаимодействовать с электронной таблицей Excel, в то время как макрос выполняется в той же книге!
DATEADD — это функция даты и времени в VBA, и эта функция имеет выходное значение в виде даты, эта функция принимает ввод в формате даты и добавляет его, чтобы вернуть новую дату, синтаксис этой функции принимает три аргумента Интервал , номер и дата.
ДатаДобавить (интервал, число, дата)
Параметры или аргументы
Интервал
Интервал времени/даты, который вы хотите добавить. Это может быть одно из следующих значений:
Значение | Объяснение | Значение | Объяснение |
гггг | Год | w | День недели |
q | Квартал | нн | Неделя |
м | Месяц | ч< /td> | Час |
г | День года | n | Минута< /td> |
d | День | s | Секунда |