Kioskea
Pesquisar
Faça uma pergunta »

VBA Criar um timer em um segundo

Março 2015


No VBA, não existe (que eu saiba) o componente Timer.
Mas, é possível criá-lo, bem facilmente.

Em um módulo de planilha


Ativar/Desativar o timer : Colocar um botão na Plan1 e inserir o código...
Private Sub CommandButton1_Click()    
    TimeOnOFF = Not TimeOnOFF    
    If TimeOnOFF Then    
        Smem = 0    
        Timer    
    End If    
End Sub

Em um módulo público


Public TimeOnOFF As Boolean    
Public Smem As Integer    

Sub Timer()    
Dim VV    
    If TimeOnOFF Then    
        'Por o código aqui, para ser executado todos os segundos    
        Smem = Smem + 1    
        If Smem = 1 Then    
            Sheets("feuil1").[C1] = Time    
        ElseIf Smem = 2 Then    
                'Por o código aqui, para ser executado todos os 2 segundos   
            Sheets("plan1").[C1] = Replace(Time, ":", " ")    
            Smem = 0    
        Else    
            Smem = 0    
        End If    
        VV = TimeSerial(Hour(Time), Minute(Time), Second(Time) + 1)    
        Application.OnTime VV, "timer", False    
    End If    
End Sub


Observação: O "sub" exibe a hora com/sem os dois pontos de separação, para evitar o movimento do texto na célula, por a fonte @Arial Unicode MS.


Tradução feita por Lucia Maurity y Nouira
Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:
Vba-criar-um-timer-em-um-segundo.pdf

A ver igualmente

Na mesma categoria

VBA Un timer une seconde tout simple
Por lermite222 em 10 de abril de 2008
Artigo original publicado por lermite222. Tradução feita por pintuda.
Este documento, intitulado « VBA Criar um timer em um segundo  »a partir de Kioskea (pt.kioskea.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.