Já vimos algumas aulas e códigos aqui no site que servem para automatizar uma ou diversas funções no Excel. E sempre que tratávamos desse tema surgia a seguinte dúvida: Como executar determinada tarefa mesmo com o Excel fechado?

Pois bem, o que parece impossível será aprendido por você agora ;D

A lógica será a seguinte: Usaremos o conhecimento aprendido nesta aula aqui para programar uma tarefa ao abrir a planilha, por exemplo, atualizar o saldo e depois enviar o relatório por e-mail, que você confere como fazer clicando aqui

Se você já acompanha o site há algum tempo e já sabe como fazer as 2 tarefas do parágrafo anterior, então só falta aprender como abrir a planilha automaticamente. Para isso vamos usar dos recursos do próprio Windows, já que, como estamos com o Excel fechado em nossa máquina, ele não poderia se auto executar, certo?

Utilizaremos, portanto, o Agendador de Tarefas do Windows. Para isso vá na barra de busca do sistema operacional e procure por ele. "Digite Agendador de Tarefas" e dê um enter.

No menu à direita vamos clicar em "Criar Tarefa..." e uma nova janela será exibida. Daremos um nome a essa tarefa, vamos marcar para que seja executado mesmo quando o usuário não estiver logado no sistema e o sistema operacional da sua máquina.

O próximo passo é ir na aba "Disparadores" e clique em "Novo". Será nessa parte que vamos escolher a frequência que nossa planilha será executada automaticamente. No exemplo vamos usar "Diário", escolher um horário, habilitar e dar um ok.

A próxima etapa é navegar para a aba "Ações", clicar em "Novo" e selecionar a nossa planilha que será executada automaticamente.

DETALHE: Se o seu Windows for 64 bits e o seu Excel for 32 bits, você terá de inserir %systemroot%Syswow64cmd.exe /C antes do endereço. Por exemplo:
%systemroot%Syswow64cmd.exe /C "C:UsersMaxDesktopAUTO.xlsm"Não esqueça das ASPAS envolvendo o endereço da planilha.

Na aba "Condições" vamos nos certificar que a planilha será executada nos mais variados cenários possíveis.

A última aba é "Configurações". Repare as opções que marcamos em nosso exemplo:

Pronto. Agora sua planilha será executada na hora marcada a cada ciclo de repetição definido. Mas e se você quisesse executar a tarefa uma vez pela manhã e outra vez pela tarde? Nesse caso é só adicionar um outro disparador para o horário indicado. Note que não precisa ser criada uma nova tarefa, apenas um novo disparador no horário desejado.

Pronto. Agora sua planilha será executada diariamente no horário marcado. O que falta é apenas configurarmos os códigos, certo? Não vou entrar em detalhes, pois, como disse, a explicação está completinha aqui e aqui.

Resumidamente: um módulo com o seguinte código:

Sub Mandar_email () 

'Código para enviar e-mail automaticamente
.
.
.
.
.
.

End Sub

E depois em "EstaPasta_de_trabalho" usar o código que chama ele:

Private Sub Workbook_Open()

     Call Mandar_email

End Sub

Pronto. Só isso =)