Separar Planilhas Excel VBA- Exportar Planilhas

Separar Planilhas Excel VBA – Exportar Planilhas

Neste artigo você aprenderá como separar planilhas no Excel com VBA, ou como exportar planilhas de uma pasta de trabalho no Excel.

Veja a seguinte situação, você tem uma pasta de trabalho, com mais de 100 planilhas de um fornecedor.

Cada uma destas planilhas contém uma lista com a categoria dos produtos e o arquivo total tem mais de 380 mb.

Você precisa separar as planilhas e para cada planilha salvar em um arquivo com o nome da categoria.

Como fazer isso?

Separar-planilhas-Excel-VBA

Como separar planilhas VBA Excel

O VBA é uma linguagem de programação presente no Excel há muito tempo.

Esta linguagem de programação presente no Excel permite que tarefas que seriam repetitivas, muito difíceis ou até impossíveis manualmente, sejam feitas de forma automática.

Para realizar a separação das planilhas de uma pasta de trabalho iremos usar o VBA.

Para isso abra o seu Excel e habilite a guia Desenvolvedor.

Após habilitar a guia Desenvolvedor clique no botão Gravar Macros.

Nesta opção selecione Gravar em pasta pessoal de macros.

O objetivo é deixar o código disponível sempre que abrir qualquer arquivo Excel, por isso estamos abrindo esta pasta de trabalho.

Em seguida clique em Ok, e em Parar Gravação.

Uma vez que a gravação parou, pressione ALT+F11 para abrir o ambiente VBE e realizar a inclusão do código que irá dividir as planilhas em vários arquivos Excel.

Procure na árvore do VBE o arquivo PERSONAL.XLSB e clique duas vezes no Módulo 1.

Nesta tela que aparece os dados do módulo cole o seguinte código VBA:

'Exportar planilhas da pasta de trabalho ativa
Public Sub lsExportarPlanilhas()
    On Error GoTo TratarErro

    Dim lWorkbook   As Workbook
    Dim ws          As Worksheet
    Dim lCaminho    As String
    
    'Desliga atualização da tela
    Application.ScreenUpdating = False
    
    'Seta o objeto da pasta ativa
    Set lWorkbook = ActiveWorkbook
    lCaminho = Application.ActiveWorkbook.Path
    
    'Loop entre as planilhas da pasta de trabalho
    For Each ws In ActiveWorkbook.Worksheets
        ws.Copy
        
        ActiveWorkbook.SaveAs Filename:=lCaminho & "\" & ws.Name & ".xlsx"
        ActiveWorkbook.Close vbNo
    Next ws
    
    MsgBox "Planilhas exportadas em: " & lCaminho
    
Sair:
    Application.ScreenUpdating = True
    Exit Sub
TratarErro:
    MsgBox "Houve uma falha: " & Err.Description
    GoTo Sair
End Sub

Uma vez colado o código o Excel já estará com o procedimento pronto para exportar todas as planilhas da pasta de trabalho ativa.

Como usar

Para utilizar a separação automática de planilhas no VBA siga o seguinte passo-a-passo:

  1. Salve a sua pasta de trabalho em uma pasta do seu computador. Os arquivos serão gerados nesta pasta então tome cuidado para não colocar muitos arquivos nesta pasta pra não misturar.
  2. Com a planilha que quer dividir as planilhas aberta clique na guia Desenvolvedor e no botão Macros escolha a opção PERSONAL.XLSB!lsExportarPlanilhas.
  3. Clique em Executar.

Aguarde o processamento, após concluir o sistema irá avisar em mensagem que todas as planilhas do seu arquivo foram separadas e estão disponíveis no caminho da sua pasta de trabalho.

Download Planilha Fluxo de Caixa Gratuita Excel

Realize o download da planilha de exemplo neste botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.

Baixe a planilha

Curso Excel Completo – Do Básico ao VBA

Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:

Avalie este post

Marcos Rieper

Pai, marido, professor e consultor em Excel.

Obrigado por ler este artigo, este blog foi criado para difundir o conhecimento em Excel à todos.

Divulgamos novos artigos nas redes sociais, basta clicar nos ícones abaixo.

Excel não precisa ser complicado

Assine nossa newsletter e receba dicas práticas para dominar o excel

plugins premium WordPress