Criando um cronômetro no Excel (estilo básico + Toastmasters)

Enquanto trabalhava na IBM, fiz parte de um clube ToastMasters International. É um lugar onde você pode melhorar suas habilidades de comunicação e liderança.

Uma seção interessante nas reuniões semanais era o falar improvisado. Nesta parte da reunião, uma pessoa recebeu um tópico e ela teve que falar sobre ele por 2 minutos. Havia uma pessoa designada que costumava cronometrar o discurso e mostra cartão verde em 1 minuto, cartão amarelo em 1:30 minutos e cartão vermelho em 2 minutos.

Normalmente, um smartphone ou relógio é usado para cronometrar a fala, e o tempo gasto é registrado manualmente em um papel.

Muitas vezes acontece que a pessoa se esquece de mostrar os cartões coloridos ou às vezes se esquece de registrar o tempo para os alto-falantes (acontecia comigo o tempo todo). Com essas coisas em mente, criei um cronômetro no Excel que ajudaria a cronometrar e registrar as falas.

Vamos primeiro aprender como criar um cronômetro básico no Excel.

Como criar um cronômetro no Excel (básico)

Por um cronômetro simples / básico no Excel, quero dizer algo que começaria quando pressionamos o botão Iniciar e pararia quando pressionamos o botão Parar.

Algo conforme mostrado abaixo:

Baixe este cronômetro básico no Excel

Para criar este cronômetro no Excel, você precisa saber sobre o Aplicativo.Na hora método em VBA.

Método Application.OnTime em VBA

O método Application.OnTime pode ser usado quando você deseja executar um código especificado no futuro. Por exemplo, você pode usá-lo para mostrar uma caixa de mensagem para lembrá-lo de se levantar e esticar as pernas após 1 hora ou tomar medicamentos após 3 horas.

Sintaxe do método Application.OnTime:

Application.OnTime (EarliestTime, Procedimento, LatestTime, Cronograma)

  • EarliestTime: a hora em que você deseja executar o procedimento.
  • Procedimento: o nome do procedimento que deve ser executado.
  • LatestTime (opcional): no caso de outro código estar em execução e o código especificado não puder ser executado no horário especificado, você pode especificar o LatestTime pelo qual ele deve aguardar. Por exemplo, poderia ser EarliestTime + 45 (o que significa que ele aguardará 45 segundos para que o outro procedimento seja concluído). Se depois de 45 segundos o procedimento não puder ser executado, ele será abandonado. Se você não especificar isso, o Excel esperará até que o código possa ser executado e, em seguida, o executará.
  • Programação (opcional): se definido como Verdadeiro, programa um novo procedimento de horário. Se for False, cancela o procedimento definido anteriormente. Por padrão, isso é True.

Um exemplo de método Application.OnTime

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

A primeira parte da macro usa o método Application.OnTime e executa o procedimento ShowMessage (entre aspas duplas) após cinco segundos. O procedimento ShowMessage simplesmente mostra a caixa de mensagem com o prompt OLÁ.

Você pode usar este formato para executar qualquer procedimento após um determinado horário a partir do horário atual.

Agora, usando esse conceito, vamos dar uma olhada no código para criar um cronômetro simples no Excel.

Dim NextTick As Date, t As Date Sub StartStopWatch () t = Time Call StartTimer End Sub StartTimer () NextTick = Time + TimeValue ("00:00:01") Intervalo ("A1"). Valor = Formato (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, Procedimento: = "StartTimer", Schedule: = False End Sub

Este código tem 3 partes:

  • A primeira parte inicializa a hora atual para a variável t. Em seguida, ele chama outro procedimento StartTimer.
  • O procedimento StartTimer usa uma variável NextTick que é incrementada em 1 a cada segundo que passa. Na planilha, a célula A1 tem o cronômetro de execução, conforme especificamos NextTick - t -TimeValue (“00:00:01”), “hh: mm: ss”) para ser o valor nessa célula. Em seguida, ele executa o código StartTimer novamente a cada segundo.
  • StopTimer cancela o procedimento Application.Ontime tornando o valor de programação False. Isso interrompe o cronômetro.

Aqui está o que você obterá com o código acima (atribuí as macros aos botões iniciar / parar):

Este é um cronômetro básico no Excel.

Eu chamo de básico porque você não pode parar no meio e reiniciar de onde saiu. Ele sempre reiniciará de 1 quando você pressionar o botão Iniciar.

Agora que você aprendeu os fundamentos do método Application.OnTime, pode facilmente ajustá-lo para criar qualquer tipo de cronômetro que desejar no Excel.

Cronômetro no Excel (para ToastMasters)

Usei o conceito discutido acima e criei um cronômetro no Excel que pode ser usado na reunião Toastmasters (que mencionei no início deste tutorial).

Aqui estão as coisas que podem ser feitas com este cronômetro:

  • Você pode parar o cronômetro e reiniciar novamente a partir do mesmo tempo (gravado até então).
  • Você pode zerar o cronômetro. Isso define o valor do cronômetro para 0. Assim que você fizer isso, ele registrará automaticamente o tempo total decorrido.
  • Ele muda a cor da caixa do cronômetro, dependendo do valor do cronômetro (isso pode ser um bom lembrete para mostrar os cartões verdes / amarelos / vermelhos).

Esta é a aparência:

Na demonstração acima, configurei a mudança de cor a cada cinco segundos. Você pode especificar facilmente quando deseja que a cor mude (o cartão verde em 1 min, cartão amarelo em 1,5 minutos e um cartão vermelho em 2 minutos) alterando os valores na folha de cálculo.

Assim que você apertar o botão de reset, a cor do cronômetro voltará ao branco, o valor do cronômetro se tornará 0 e ele registrará o tempo na coluna G.

Observação: como esses arquivos contêm macro, você terá que habilitar as macros antes de usá-las. Ao abrir a pasta de trabalho, você verá um botão amarelo - Habilitar Conteúdo. Clique nele para habilitar macros.

Se você criar algo legal usando um cronômetro, compartilhe comigo.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave