ExcelForever

COMO CRIAR UM CRONÔMETRO NO EXCEL COM VBA

Veja neste artigo como criar um cronômetro no Excel com VBA utilizando códigos simples, baixe gratuitamente a planilha com o código pronto.

Além de uma excelente ferramenta de trabalho para recursos simples o Microsoft Excel com suas inúmeras ferramentas, funções e possibilidade de programação em VBA permite criações incríveis.

O que deixa este programa tão útil, interessante e vivo por mais de 30 anos é exatamente a sua versatilidade e capacidade de atualização.

Neste artigo vou mostrar como criar um cronômetro no Excel utilizando algumas ferramentas no ambiente Excel e códigos do VBA.

cronometro no excel - COMO CRIAR UM CRONÔMETRO NO EXCEL COM VBA

Já vi outros cronômetros feitos com maior complexidade e códigos imensos, mas este caso se destaca pela grande simplicidade.

Botões

Os botões foram criados simplesmente pelas formas do Excel, e neste caso escolhemos as cores, apliquei o efeito bisel e defini o tamanho dos botões.

Para a criação desta cronômetro será necessário três códigos no VBA e obviamente estas sub rotinas deverão estar conectadas aos eus respectivos botões.

Definição do tempo (Célula D13)

Também é preciso ter uma célula onde o tempo será definido, e neste caso é a célula d13.

A célula precisar ter o formato de hora com os 6 dígitos, pode ser digitado ou ter uma lista suspensa com opções pré definidas de tempo.

Até aqui nada demais, pois todos os recursos são muitos simples e realizados no Excel.

Códigos do cronômetro

Agora vou mostrar os três códigos necessários para o funcionamento do cronômetro, são códigos simples que farão com que o timer funcione automaticamente sem precisar de atualização da planilha.

1 – Sub Cronometro

O primeiro código é a sub cronometro, esta sub rotina cumpre o papel de definir a hora, minuto e segundo da célula D13 e utiliza a célula D15 que não precisa aparecer para concatenar os três elementos da hora.

Note que no final deste código temos o comando call utilizado para chamar outras rotinas e assim executar outras ações dentro do código primário.

Sub cronometro()

If Range("d13").Value = 0 Then
        
Else

    newhour = Hour(Range("d13").Value)
    newminute = Minute(Range("d13").Value)
    newsecond = Second(Range("d13").Value) - 1
    
    Range("d15").Value = TimeSerial(newhour, newminute, newsecond)
    
    Range("d13").Value = Range("d15").Value
       
Call timer
'Chama a sub timer


End If

End Sub

2 – Sub timer

O segundo código é a sub rotina timer, é a mais simples e mais importante, pois a sub timer faz com que o cronômetro funcione automaticamente sem que o usuário tenha que ficar atualizando a planilha.

Sub timer()

    Application.OnTime Now + TimeValue("00:00:01"), "Cronometro"
    'Este código deixa acontagem dos segundos automático

End Sub

Outro ponto importante do código timer é que este deve ser conectado ao botão timer na tela do cronômetro.

3 – Sub encerrar

A sub encerrar também é muito simples e seu papel e parar o cronometro sempre que o usuário desejar.

Note que o código simplesmente aplica hora com valor zero fazendo com que a rotina interrompa a operação.

Sub encerrar()

Range("d13").Value = "00:00:00"
'Este é o código do botão stop

        
End Sub

Esta sub rotina deve ser atribuída ao botão vermelho, ou seja, o botão que paralisa o timer.

Para atribuir as macros aos botões basta clicar com o botão direito, escolher a opção atribui macros e escolher os nomes das rotinas.

Ao utilizar estes códigos e objetos indicados o funcionamento do timer sempre irá depender da inclusão do tempo para depois ser iniciado pelo botão timer, e sempre que desejado o usuário pode parar o processo pelo botão stop.


Ainda tem dúvidas de como criar um cronômetro no Excel com VBA? Saiba como fazer passo a passo pelo nosso vídeo do Canal ExcelForever no Youtube:


Conheça os Cursos com as melhores notas da Udemy
Saiba mais!

Espero que tenha gostado do artigo e seja muito útil, grande abraço e sucesso!

Everton Pires

Sair da versão mobile