Tworzenie stopera w Excelu (styl Basic + Toastmasters)

Pracując w IBM należałem do klubu ToastMasters International. To miejsce, w którym możesz poprawić swoje umiejętności komunikacyjne i przywódcze.

Ciekawą sekcją na cotygodniowych spotkaniach było wystąpienie improwizowane. W tej części spotkania dana osoba otrzymywała temat i musiała wypowiadać się na ten temat przez 2 minuty. Była wyznaczona osoba, która mierzyła czas przemówienia i pokazuje zieloną kartkę o 1 minucie, żółtą kartkę o 1:30, a czerwoną kartkę po 2 minutach.

Zwykle do pomiaru czasu mowy używa się smartfona lub zegarka, a czas potrzebny jest ręcznie zapisywany na papierze.

Często zdarza się, że dana osoba zapomina pokazać kolorowe karty lub czasami zapomina nagrać czas dla głośników (zdarzało się to ze mną cały czas). Mając to na uwadze, stworzyłem w Excelu stoper, który pomagał w czasie i nagrywaniu przemówień.

Najpierw nauczmy się, jak utworzyć podstawowy stoper w programie Excel.

Jak utworzyć stoper w programie Excel (podstawowy)

Przez prosty/podstawowy stoper w Excelu mam na myśli coś, co zaczynałoby się, gdy naciśniemy przycisk Start, a zatrzymałoby się, gdy naciśniemy przycisk Stop.

Coś, jak pokazano poniżej:

Pobierz ten podstawowy stoper w programie Excel

Aby utworzyć ten stoper w programie Excel, musisz wiedzieć o Podanie.Na czas metoda w VBA.

Metoda Application.OnTime w VBA

Metoda Application.OnTime może być używana, gdy chcesz uruchomić określony kod w przyszłości. Na przykład możesz użyć go, aby wyświetlić okno komunikatu przypominające o wstaniu i rozprostowaniu nóg po 1 godzinie lub zażyciu leków po 3 godzinach.

Składnia metody Application.OnTime:

Aplikacja.OnTime(Najwcześniejszy czas, Procedura, Ostatni czas, Harmonogram)

  • EarlyTime: godzina, w której chcesz uruchomić procedurę.
  • Procedura: nazwa procedury, którą należy uruchomić.
  • LatestTime (Opcjonalnie): W przypadku, gdy działa inny kod, a określonego kodu nie można uruchomić w określonym czasie, możesz określić LatestTime, na które powinien czekać. Na przykład może to być EarlyTime + 45 (co oznacza, że ​​czeka 45 sekund na zakończenie drugiej procedury). Jeśli nawet po 45 sekundach procedura nie jest w stanie uruchomić, zostaje porzucona. Jeśli tego nie określisz, program Excel poczeka, aż kod będzie mógł zostać uruchomiony, a następnie go uruchomi.
  • Harmonogram (opcjonalnie): Jeśli ustawione na True, planuje nową procedurę czasu. Jeśli False, to anuluje poprzednio ustawioną procedurę. Domyślnie jest to prawda.

Przykład metody Application.OnTime

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

Pierwsza część makra wykorzystuje metodę Application.OnTime i po pięciu sekundach uruchamia procedurę ShowMessage (w podwójnych cudzysłowach). Procedura ShowMessage po prostu pokazuje okno komunikatu z monitem HELLO.

Możesz użyć tego formatu, aby uruchomić dowolną procedurę po określonym czasie od czasu bieżącego.

Teraz korzystając z tej koncepcji, spójrzmy na kod tworzenia prostego stopera w programie Excel.

Dim NextTick As Date, t As Date Sub StartStopWatch() t = Czas wywołania StartTimer End Sub Sub StartTimer() NextTick = Czas + 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() W przypadku błędu Wznów następny Application.OnTime EarlyTick:=NextTick, Procedure:= "StartTimer", Harmonogram:=Fałsz Koniec Sub

Ten kod składa się z 3 części:

  • Pierwsza część inicjuje aktualny czas do zmiennej t. Następnie wywołuje inną procedurę StartTimer.
  • Procedura StartTimer wykorzystuje zmienną NextTick, która jest zwiększana o 1 z każdą mijającą sekundą. W arkuszu komórka A1 ma uruchomiony zegar, ponieważ określiliśmy NextTick - t -TimeValue(„00:00:01”), „hh:mm:ss”) jako wartość w tej komórce. Następnie co sekundę uruchamia kod StartTimer.
  • StopTimer anuluje procedurę Application.Ontime, ustawiając wartość harmonogramu False. To zatrzymuje zegar.

Oto, co otrzymasz z powyższym kodem (przypisałem makra do przycisków start/stop):

To jest podstawowy stoper w Excelu.

Nazywam to podstawowym, ponieważ nie możesz zatrzymać się w środku i ponownie rozpocząć tam, gdzie wyszedłeś. Po naciśnięciu przycisku start zawsze będzie uruchamiany ponownie od 1.

Teraz, gdy nauczyłeś się podstaw metody Application.OnTime, możesz łatwo to dostosować, aby utworzyć dowolny stoper, który chcesz w programie Excel.

Stoper w Excelu (dla ToastMasters)

Skorzystałem z omówionej powyżej koncepcji i stworzyłem Stoper w Excelu, który można wykorzystać na spotkaniu Toastmasters (o czym wspomniałem na początku tego samouczka).

Oto rzeczy, które można zrobić za pomocą tego stopera:

  • Możesz zatrzymać stoper, a następnie ponownie uruchomić od tego samego czasu (nagranego do tego czasu).
  • Możesz zresetować minutnik. Ustawia to wartość timera na 0. Gdy tylko to zrobisz, automatycznie zapisuje całkowity czas, który upłynął.
  • Zmienia kolor pola timera w zależności od wartości stopera (może to być dobre przypomnienie, aby pokazać zielone/żółte/czerwone kartki).

Oto jak to wygląda:

W powyższym demo ustawiłem zmianę koloru co pięć sekund. Możesz łatwo określić, kiedy kolor ma się zmienić (zielona kartka po 1 minucie, żółta kartka po 1,5 minuty i czerwona kartka po 2 minutach), zmieniając wartości w arkuszu Obliczenia.

Gdy tylko naciśniesz przycisk resetowania, kolor timera wróci do białego, wartość timera zmieni się na 0 i zarejestruje czas w kolumnie G.

Uwaga: Ponieważ te pliki zawierają makra, będziesz musiał włączyć makra przed ich użyciem. Po otwarciu skoroszytu zobaczysz żółty przycisk - Włącz zawartość. Kliknij go, aby włączyć makra.

Jeśli tworzysz coś fajnego za pomocą timera, podziel się tym ze mną.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave