Uma família de softwares de planilhas da Microsoft com ferramentas para analisar, criar gráficos e comunicar dados.
Esta resposta foi traduzida automaticamente. Como resultado, pode haver erros gramaticais ou palavras estranhas.
Caro Alex,
Bem-vindo à comunidade da Microsoft.
Alex, parece que você está tentando criar um relógio que atualiza a cada segundo no Excel usando VBA.
O problema que você está descrevendo ocorre porque Application.OnTime agenda eventos, mas não atualiza ou faz loop constantemente.
Aqui está uma abordagem alternativa usando o VBA para criar um relógio que é atualizado perfeitamente a cada segundo:
- Abra o editor do Visual Basic for Applications (VBA) pressionando Alt + F11.
- Insira um novo módulo por meio de Inserir > Módulo.
- Cole o seguinte código VBA no módulo:
- Esmaecer NextUpdate como data
Sub StartClock()
' Defina o próximo tempo de atualização para 1 segundo a partir de agora
NextUpdate = Agora + TimeValue("00:00:01")
' Chame a sub-rotina UpdateClock para atualizar a hora
Relógio de atualização
« Agende a próxima atualização
Application.OnTime NextUpdate, "StartClock"
Fim Sub
Sub UpdateClock()
' Atualiza a célula ativa com a hora atual
ActiveSheet.Range("A1"). Valor = Formato(Agora, "hh:mm:ss")
Fim Sub
Sub StopClock()
' Cancelar a atualização agendada
Em caso de erro Retomar Próximo
Application.OnTime NextUpdate, "StartClock", , Falso
Fim Sub
- Feche o editor VBA e retorne à planilha do Excel.
- Na célula desejada (por exemplo, A1), você verá a hora sendo exibida à medida que o relógio funciona.
- Para iniciar o relógio, pressione Alt + F8, selecione StartClock e execute-o.
- Para parar o relógio, pressione Alt + F8, selecione StopClock e execute-o.
Se o problema persistir, não hesite em nos contatar para obter mais assistência. Obrigado por escolher a Microsoft.Atenciosamente,vats_arrow | Especialista em suporte da comunidade Microsoft