[ExcelMax®] Macro: Gerar um relatório em determinada hora II

5 views
Skip to first unread message

Ivair Claudio Ferrari

unread,
Nov 19, 2010, 4:44:58 PM11/19/10
to exce...@googlegroups.com
    Numa das postagens mencionada anteriormente (Macro: Gerar um relatório em determinada hora II) foi colocada a seguinte situação:
  • Imagine que você precisasse rodar uma determinada macro para gerar um relatório, fazer um backup, ou qualquer outro procedimento num determinado horário sem estar presente. Precisaríamos programar o Excel para que ele executasse tal procedimento na hora desejada.
    Uma macro simples, pode ser rodada em qualquer horário e na hora especificada, o processo será estartado.


    Na figura ao lado, vemos o exemplo de um simples lista de dados (colunas 'ID', 'UF' e 'QTDADE'). Nosso objetivo, é copiar todos os dados nas colunas  a direita (que contém os mesmos nomes (cabeçalhos) em um horário a frente que vamos determinar.
    Quando clicamos em 'Agendar', uma macro é iniciada.
A figura ao lado, mostra que será solicitada a hora que o processo será iniciado. Note que a figura menciona o formato que esta hora deve ser digita (hh:mm:ss). Em seguida, clicamos em 'OK'.
     A hora digitada deve ser maior do que a hora atual (podendo ser apenas alguns segundos (ss) após a hora (hh:mm:ss) atual).
    A macro não fará nada até que a hora atual (do computador) seja igual a hora digitada.

   
    Quando a hora do computador for igual a hora digitada, a macro será iniciada.
    Na figura ao lado percebemos que, a macro foi executada e os mesmos dados das 03 colunas a esquerda foram colados nas colunas (destacadas em vermelho) a direita.




    A baixo, vemos algumas figuras com os códigos (macros) que compõe o processo.
    A figura abaixo, contém a macro que inicia o processo solicitando qual será o horário da execução da segunda macro. Digitamos a hora no formato já mencionado (hh:mm:ss) e clicamos em 'OK'. Lembre-se de que a hora digitada deve ser maior do que a hora atual do computador.
    Por exemplo: se a hora do computador for '16:20:35', podemos digitar qualquer hora acima disso (dando uma folga para podermos clicar em 'OK'): '16:21:00' (com isso, a segunda macro será executada 25 segundos após clicarmos em 'OK'.
    Se desejarmos que a segunda macro seja executada algumas horas após clicarmos em 'OK', não poderemos fechar o Excel (por exemplo, se digitarmos '21:00:00').
 






    A macro acima, executa a macro 'Agenda' (que está abaixo), quando a hora atual do computador for igual a 'TempoI
  











 

    A macro ao lado, limpa os dados que são copiados com a macro acima. 


  



     Espero que as explicações e figuras tenham deixado claro o exemplo. Para ajudar, segue um link abaixo para que o exemplo possa ser baixado. 
    Em caso de dúvidas, favor postar comentário.


--
Postado por Ivair Claudio Ferrari no ExcelMax® em 11/19/2010 07:44:00 PM
Reply all
Reply to author
Forward
0 new messages