Notifications
Clear all

Auto Executar Macro

10 Posts
2 Usuários
0 Reactions
1,452 Visualizações
(@miguel-70)
Posts: 0
New Member
Topic starter
 

Ola amigos,
Quero executar uma macro no horário programado, e esse horário esta em uma célula.

Sub horas()
Application.OnTime TimeValue("17:08:00"), "Programação"
'Application.OnTime TimeValue.Range("A3"), "Programação"
End Sub
Sub Programação()
MsgBox "Horas da Execução da Macro"
End Sub

Será possível,
Obrigado!

 
Postado : 02/01/2016 2:28 pm
(@neoandrev)
Posts: 0
New Member
 

Ola amigos,
Quero executar uma macro no horário programado, e esse horário esta em uma célula.

Sub horas()
Application.OnTime TimeValue("17:08:00"), "Programação"
'Application.OnTime TimeValue.Range("A3"), "Programação"
End Sub
Sub Programação()
MsgBox "Horas da Execução da Macro"
End Sub

Será possível,
Obrigado!

Ficaria assim:

Sub horas()
Application.OnTime TimeValue.Range("A3"), "Programação"
End Sub
Sub Programação()
MsgBox "Horas da Execução da Macro"
End Sub

Seria isso que procura? A linha 3 estava com ' na frente isto é interpretado com comentário pelo programa que ignora toda a linha.

 
Postado : 02/01/2016 2:59 pm
(@miguel-70)
Posts: 0
New Member
Topic starter
 

Obrigado pela ajuda neoandrev mas ta dando erro na linha
Application.OnTime TimeValue.Range("A3"), "Programação"

 
Postado : 02/01/2016 4:22 pm
(@neoandrev)
Posts: 0
New Member
 

Me envia a sua planilha em anexo para eu dar uma olhada!!!

 
Postado : 02/01/2016 4:27 pm
(@miguel-70)
Posts: 0
New Member
Topic starter
 

Segue em anexo, obrigado pela ajuda

 
Postado : 02/01/2016 4:36 pm
(@neoandrev)
Posts: 0
New Member
 

Acho que o problema está na sintaxe de Application.OnTime TimeValue.Range("A3"), "Programação", deixa eu ver oq acontece.

 
Postado : 02/01/2016 4:43 pm
(@neoandrev)
Posts: 0
New Member
 

Acontece o seguinte você escreveu :

Application.OnTime TimeValue.Range("A3"), "Programação"

mas Range("A3") não é um objeto de time value então o correto seria :

Application.OnTime TimeValue(Range("A3"), "Execução")

O problema é que quando ele vai ler a célula A3 ele não lê 18:00:00 mas sim 0,75 que é 3/4 de um dia.

Porém se eu colocar o ' na célula o TimeValue dá erro também. Tenho que pensar um pouco.

Tenta usar este tá funcionando aqui, lembrando que A3 tem de ser string (texto) colocando o ' na frente.

Public Sub Programação()
tempo = Range("A3")
Application.OnTime TimeValue(tempo), "Execucao"
End Sub
Sub Execucao()
MsgBox "Horas da Execução da Macro"
End Sub
 
Postado : 02/01/2016 4:54 pm
(@miguel-70)
Posts: 0
New Member
Topic starter
 

Desculpe me pela demora estava tentando fazer o código funcionar. Não conseguir resolver onde vc disse;
- lembrando que A3 tem de ser string (texto) colocando o ' na frente.
Se puder me ajudar mais um pouco fico grato.

 
Postado : 03/01/2016 5:10 am
(@neoandrev)
Posts: 0
New Member
 

O conteúdo da célula A3 tem que ser texto e não no formato data-hora.
Se você colocar o ' no começo da célula A3 dessa forma '18:00:00 o excel entende que 18:00:00 é texto e não data-hora.
o TimeValue lê apenas valores de string(texto) e não data-hora.
Estou enviando o arquivo de volta ajustado.

 
Postado : 03/01/2016 10:29 am
(@miguel-70)
Posts: 0
New Member
Topic starter
 

Testado e aprovado, obrigado neoandrev.

 
Postado : 03/01/2016 11:15 am