Създаване на хронометър в Excel (Basic + Toastmasters Style)

Докато работех в IBM, бях част от международен клуб на ToastMasters. Това е място, където можете да подобрите своите комуникационни и лидерски умения.

Интересен раздел в седмичните срещи беше импровизираното говорене. В тази част от срещата на човек беше дадена тема и той/тя трябваше да говори по нея в продължение на 2 минути. Имаше определен човек, който използваше времето за изказване и показва зелен картон в 1 минута, жълт картон в 1:30 минути и червен картон след 2 минути.

Обикновено за измерване на времето на речта се използва смартфон или часовник, а времето се записва ръчно на хартия.

Често се случва човекът да забрави да покаже цветните карти или понякога да забрави да запише времето за ораторите (случва се с мен през цялото време). Имайки предвид тези неща, създадох хронометър в Excel, който би помогнал за времето и записването на речите.

Нека първо научим как да създадем основен хронометър в Excel.

Как да създадете хронометър в Excel (основно)

Под прост/основен хронометър в Excel имам предвид нещо, което би започнало, когато натиснем бутона за стартиране, и ще спре, когато натиснем бутона за спиране.

Нещо, както е показано по -долу:

Изтеглете този основен хронометър в Excel

За да създадете този хронометър в Excel, трябва да знаете за Приложение.На време метод във VBA.

Application.OnTime метод във VBA

Методът Application.OnTime може да се използва, когато искате в бъдеще да изпълните определен код. Например, можете да го използвате, за да покажете поле за съобщения, което да ви напомни да станете и да разтегнете краката си след 1 час или да вземете лекарства след 3 часа.

Синтаксис на Application.OnTime метод:

Application.OnTime (Най -ранно време, Процедура, Последно време, График)

  • EarliestTime: Времето, в което искате да изпълните процедурата.
  • Процедура: Името на процедурата, която трябва да бъде изпълнена.
  • LatestTime (Незадължително): В случай, че се изпълнява друг код и посоченият код не може да бъде изпълнен в определеното време, можете да посочите LatestTime, за който трябва да изчака. Например, това може да е EarliestTime + 45 (което означава, че ще изчака 45 секунди, за да приключи другата процедура). Ако дори след 45 секунди процедурата не може да се изпълни, тя се изоставя. Ако не посочите това, Excel ще изчака, докато кодът може да бъде стартиран, и след това го стартира.
  • График (Незадължително): Ако е зададено на True, той планира нова времева процедура. Ако е невярно, то отменя предварително зададената процедура. По подразбиране това е Истина.

Пример за метод Application.OnTime

Sub test () Application.OnTime Now + TimeValue ("00:00:05"), "ShowMessage" End Sub Sub ShowMessage () MsgBox ("HELLO") End Sub

Първата част на макроса използва метода Application.OnTime и изпълнява процедурата ShowMessage (в двойни кавички) след пет секунди. Процедурата ShowMessage просто показва полето със съобщение с подкана HELLO.

Можете да използвате този формат, за да стартирате всяка процедура след определено време от текущото време.

Сега, използвайки тази концепция, нека разгледаме кода за създаване на обикновен хронометър в Excel.

Dim NextTick As Date, t As Date Sub StartStopWatch () t = Time Call StartTimer End Sub Sub StartTimer () NextTick = Time + TimeValue ("00:00:01") Range ("A1"). Value = Format (NextTick - t - TimeValue ("00:00:01"), "hh: mm: ss") Application.OnTime NextTick, "StartTimer" End Sub Sub StopTimer () On Error Resume Next Application.OnTime EarliestTime: = NextTick, Процедура: = "StartTimer", График: = Подложка за фалшив край

Този код има 3 части:

  • Първата част инициализира текущото време към променливата t. След това извиква друга процедура StartTimer.
  • Процедурата StartTimer използва променлива NextTick, която се увеличава с 1 с всяка изминала секунда. В работния лист клетка A1 има работещ таймер, както сме посочили NextTick - t -TimeValue (“00:00:01”), “hh: mm: ss”) да бъде стойността в тази клетка. След това той стартира кода на StartTimer отново след всяка секунда.
  • StopTimer отменя процедурата Application.Ontime, като прави стойността на графика False. Това спира таймера.

Ето какво ще получите с горния код (присвоих макросите на бутоните за стартиране/спиране):

Това е основен хронометър в Excel.

Наричам го основно, тъй като не можете да спрете по средата и да рестартирате откъдето сте тръгнали. Винаги ще се рестартира от 1, когато натиснете бутона за стартиране.

Сега, след като сте научили основите на метода Application.OnTime, можете лесно да промените това, за да създадете какъвто и да е хронометър, който искате в Excel.

Хронометър в Excel (За ToastMasters)

Използвах концепцията, обсъдена по -горе, и създадох хронометър в Excel, който може да се използва в срещата на Toastmasters (която споменах в началото на този урок).

Ето нещата, които могат да се направят с помощта на този хронометър:

  • Можете да спрете таймера и след това да рестартирате отново от същото време (записано до тогава).
  • Можете да нулирате таймера. Това задава стойността на таймера на 0. Веднага щом го направите, той автоматично записва общото изминало време.
  • Той променя цвета на кутията на таймера в зависимост от стойността на хронометъра (това може да бъде добро напомняне за показване на зелените/жълтите/червените карти).

Ето как изглежда:

В тази по -горе демонстрация съм настроил промяната на цвета на всеки пет секунди. Можете лесно да посочите кога искате да се промени цветът (зеленият картон на 1 минута, жълтия картон на 1,5 минути и червения картон на 2 минути), като промените стойностите в листа за изчисление.

Веднага щом натиснете бутона за нулиране, цветът на таймера ще се върне към бял, стойността на таймера ще стане 0 и той ще запише времето в колона G.

Забележка: Тъй като тези файлове съдържат макрос, ще трябва да активирате макроси, преди да го използвате. Когато отворите работната книга, ще видите жълт бутон - Активиране на съдържанието. Щракнете върху него, за да активирате макроси.

Ако създадете нещо готино с таймер, споделете го с мен.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave