Índice:
Vídeo: #79 Excel VBA - Como transferir dados entre pastas de trabalho diferentes 2024
Uma das coisas mais irritantes do Excel está fechando muitas pastas de trabalho ao mesmo tempo. Para cada caderno de trabalho que você abriu, você precisa ativar o trabalho, fechá-lo e confirmar a salvação de alterações. O Excel não possui uma maneira fácil de fechá-los de uma só vez. Esta pequena macro cuida desse aborrecimento.
Como a macro funciona
Nesta macro, a coleção de pastas de trabalho acompanha todas as pastas de trabalho abertas. À medida que os loops macro através de cada pasta de trabalho, ele os salva e os fecha:
Sub Macro1 () 'Etapa 1: Declare suas variáveis Dim wb As Workbook' Etapa 2: Faça o loop através de pastas de trabalho, salve e feche For Each wb Em Workbooks wb. Fechar SaveChanges: = True Next wb End Sub
O passo 1 declara uma variável Object que representa um objeto Workbook. Isso permite que você enumere através de todas as pastas de trabalho abertas, capturando seus nomes conforme você for.
O Passo 2 simplesmente rola as pastas de trabalho abertas, salvando-as e fechando-as. Se você não deseja salvá-los, altere o argumento SaveChanges de True para False.
Como usar a macro
O melhor lugar para armazenar esta macro está em sua pasta de trabalho de macro pessoal. Desta forma, a macro está sempre disponível para você. O livro de macros pessoal é carregado sempre que você inicia o Excel. Na janela do projeto VBE, ele é nomeado pessoal. xlsb.
-
Ative o Editor do Visual Basic pressionando Alt + F11.
-
Clique com o botão direito do mouse em pessoal. xlb na janela do projeto.
-
Escolha Inserir → Módulo.
-
Digite ou cole o código no módulo recém-criado.
Se você não vê pessoal. xlb na janela do seu projeto, ele ainda não existe. Você gravará uma macro usando a pasta de trabalho de macro pessoal como destino.
Para gravar a macro em sua pasta de trabalho de macro pessoal, abra a caixa de diálogo Gravar macro. Na lista suspensa da macro da loja, selecione Personal Macro Workbook. Em seguida, basta gravar alguns cliques de celular e parar de gravar. Você pode descartar a macro gravada e substituí-la por essa.