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.