Execute o código EXCEL VBA em pastas de trabalho separadas em sequência

0

Eu tenho sete pastas de trabalho do Excel que possuem macros para atualizá-las, e elas devem ser executadas toda semana.

Eu quero criar uma macro que execute cada uma delas sequencialmente (e feche a anterior, pois alguns assinantes têm nomes comuns).

Eu criei uma nova pasta de trabalho com uma macro para executá-las, mas ela só executa a primeira e depois para.

Eu não quero modificar o código do VBA nas sete pastas de trabalho, pois quero poder executá-las individualmente, se necessário.

    
por Julio Gupte 02.04.2015 / 07:10

1 resposta

0

Depende das suas necessidades, mas eu usaria o agendador de tarefas para executar as tarefas em determinados momentos do dia.

Garanta que a macro seja executada quando a pasta de trabalho for aberta, usando algo como

Private Sub Workbook_Open()
'my code or a function call to the code I want to run
End Sub

Em seguida, basta criar várias tarefas no Agendador de Tarefas e, na janela Nova Ação, definir os argumentos e o caminho do programa, sendo o caminho do programa o Excel e os argumentos sendo /e "c:\YourWorkbook.xls"

Isso só funcionará se você souber quanto tempo cada tarefa levará. Isso também significa que os arquivos do Excel executarão a macro no carregamento, independentemente de como eles foram abertos (o que pode ou não ser desejável).

    
por 02.04.2015 / 09:22