Connection Information

To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not your credentials, you should your web host.

Connection Type

Connection Information

To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not your credentials, you should your web host.

Connection Type

▷ Como criar um procedimento VBA que fecha todas as pastas de trabalho abertas no Excel

Como criar um procedimento VBA que fecha todas as pastas de trabalho abertas no Excel

Nota: O seguinte artigo irá ajudá-lo com: Como criar um procedimento VBA que fecha todas as pastas de trabalho abertas no Excel

Este procedimento simples pode economizar muito tempo quando você terminar seu trabalho. Susan Harkins diz como.

Alguns de nós trabalham com várias pastas de trabalho do Microsoft Excel abertas ao mesmo tempo. Ou nós os abrimos e trabalhamos um pouco e amos para o próximo, ou eles têm um link ou conexão que exige que todos estejam abertos ao mesmo tempo. Independentemente de como você acaba com muitas pastas de trabalho abertas, fechá-las manualmente, uma por uma, pode ser tedioso.

A boa notícia é que você pode usar um procedimento VBA para fechá-los todos. Neste artigo, mostrarei um procedimento simples que salva cada pasta de trabalho, se necessário, antes de fechá-la e depois a para a próxima pasta de trabalho, eventualmente salvando e fechando todas.

VEJA: 83 dicas do Excel que todo usuário deve dominar (TechRepublic)

Estou usando o Microsoft 365 em um sistema Windows 10 de 64 bits. (Recomendo que você espere para atualizar para o Windows 11 até que todos os problemas tenham sido resolvidos.) Você pode baixar o arquivo .bas, que contém o procedimento, e importar o arquivo para sua pasta de trabalho Personal.xlsb. O Excel Online não oferece e a VBA.

Para onde vai o procedimento

A primeira coisa a sair do caminho é esta: você não pode armazenar esse procedimento em qualquer pasta de trabalho. Se for a última pasta de trabalho aberta, o procedimento irá fechá-la primeiro e parar. Este é o tipo de procedimento que pertence à sua pasta de trabalho pessoal. Essa pasta de trabalho, chamada Personal.xlsb, é aberta sempre que você abre o Excel e fica oculta por padrão. Todos os procedimentos em Personal.xlsb estão disponíveis para todas as pastas de trabalho abertas. É uma espécie de biblioteca.

Abra o Editor do Visual Basic (VBE) pressionando Alt + F11. Se a janela do projeto à esquerda não estiver visível, pressione Ctrl + R ou escolha Project Explorer no menu Exibir. Se Personal.xlsb estiver no Project Explorer, expanda-o e clique duas vezes em Module1 para abrir sua janela de código.

Se Personal.xlsb não estiver na janela do projeto, você precisará gravar um procedimento curto da seguinte forma:

    1. Retorne à planilha e clique na guia Desenvolvedor.
    2. No grupo Macros, clique em Gravar Macro.
    3. Na caixa de diálogo resultante, você só precisa escolher onde o procedimento será armazenado. Na lista suspensa Armazenar macro em, escolha Pasta de trabalho pessoal de macro (Figura A).
    4. Clique OK
    5. Clique em Parar Gravação no grupo Macros na guia Desenvolvedor.

    Retorne ao VBE e você encontrará Personal.xlsb na janela do projeto, conforme mostrado em Figura B. Clique duas vezes em Module1 para abrir sua folha de código e excluir o procedimento que você acabou de criar. Você não precisa deste procedimento; seu único propósito era reexibir Personal.xlsb.

    Figura A

    Figura B

    Com uma folha de código aberta para Personal.xlsb, você está pronto para adicionar o código mostrado em Listagem A. É realmente tão simples quanto parece (Figura C). Se você estiver usando uma versão da faixa de opções, salve a pasta de trabalho como um arquivo habilitado para macro. Se estiver trabalhando na versão de menu, pule esta etapa.

    Listagem A

    Sub Fechar Pastas de Trabalho()

    ‘Salvar e fechar todas as pastas de trabalho abertas.

    Dim wb como pasta de trabalho

    ‘Desliga a tela.

    Application.ScreenUpdating = False

    ‘Percorre as pastas de trabalho abertas e as fecha.

    Para cada wb em pastas de trabalho

    Debug.Print wb.Name

    Se wb.Name <> “PESSOAL.XLSB” Então

    wb.Fechar SaveChanges:=True

    Fim se

    Próxima página

    ‘Ativa a tela.

    Application.ScreenUpdating = True

    ‘Fecha o Excel.

    Aplicativo. Sair

    Finalizar Sub

    Figura C

    O procedimento está nos arquivos .bas para , que você pode importar para o Módulo 1 do arquivo Personal.xlsb. Se você inserir o código manualmente, não cole desta página da web. Em vez disso, copie o código em um editor de texto e cole esse código no módulo Personal.xlsb. Isso removerá quaisquer caracteres da Web fantasmas que possam causar erros.

    Depois de ter o procedimento em Personal.xlsb, você pode executá-lo em qualquer pasta de trabalho.

    Sobre o procedimento

    Esse procedimento primeiro declara uma variável de objeto Workbook como wb e desativa a atualização de tela para que você não veja os arquivos sendo fechados. A instrução For Each percorre todos os objetos de pasta de trabalho abertos e os fecha, usando o valor =True para salvar cada fechamento de pasta de trabalho, a menos que a pasta de trabalho atual seja Personal.xlsb. Nesse caso, o VBA ignora esta etapa e continua com a próxima pasta de trabalho. O código deve ignorar a pasta de trabalho Personal.xlsb porque, se ela for fechada, também parará de ser executada, talvez deixando as pastas de trabalho abertas. Depois que todas as pastas de trabalho são fechadas, a instrução Application.Quit fecha o Excel. Se você quiser deixar o Excel aberto, você pode comentar esta declaração.

    Se o Excel estiver aberto, feche-o. Abra algumas pastas de trabalho do Excel e, na pasta de trabalho aberta, clique na guia Desenvolvedor e clique em Macros no grupo Macros. Na caixa de diálogo resultante, mostrada em Figura D, selecione o procedimento CloseWorkbooks e clique em Executar. O procedimento salva e fecha cada pasta de trabalho aberta e, em seguida, encerra o Excel.

    Figura D

    Muito provavelmente, você não desejará executar todas essas etapas para executar essa macro. Eu recomendo que você o adicione à Barra de Ferramentas de o Rápido (QAT) ou a um grupo personalizado. Se precisar de ajuda com isso, leia Como adicionar macros do Office à barra de ferramentas QAT para o rápido.