Notifications
Clear all

Erro 13 - tipos incompatíveis

3 Posts
2 Usuários
0 Reactions
916 Visualizações
(@evilmaax)
Posts: 82
Trusted Member
Topic starter
 

Olá Pessoal

Estou com um probleminha no seguinte código:

Sub gravar()
     ThisWorkbook.Save
     Call timer
End Sub

Sub timer()
     Application.OnTime Now + TimeValue(Worksheets("Configurações").Range("C5")), "gravar"
End Sub

Como vocês podem perceber é um código que fica repetindo em loop para fazer com que a planilha seja salva a cada "X tempo".
Pois bem, se eu determino o intervalo de tempo diretamente no código:

Application.OnTime Now + TimeValue("00:01:00"), "gravar"

ela funciona de boa, mas se uso uma referência de célula dá o erro 13.
Realmente não sei como validar a referência para que a macro seja repetida no intervalo desejado.

A célua que estou usando como referência contém "00:00:30" e está formatada como "Hora".

Obrigado pela ajuda

 
Postado : 25/01/2017 9:19 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Se em sua célula o tempo já está sendo exibido corretamente, use a propriedade .Text do Range, ao invés de .Value (que é default quando não especificado, como no seu caso).

Application.OnTime Now + TimeValue(Worksheets("Configurações").Range("C5").Text), "gravar"

Ou Value direto, dispensando a conversão com TimeValue:

Application.OnTime Now + Worksheets("Configurações").Range("C5").Value), "gravar"

 
Postado : 25/01/2017 10:22 am
(@evilmaax)
Posts: 82
Trusted Member
Topic starter
 

Application.OnTime Now + TimeValue(Worksheets("Configurações").Range("C5").Text), "gravar"

Funcionou certinho, Mestre.
Obrigado.

Abraços

 
Postado : 25/01/2017 10:30 am