Como Separar a Planilha de Excel com VBA?

MR
Marcos Rieper

Especialista em Excel

30 de julho de 2010 Atualizado 08 de julho de 2026 2 min de leitura
SEPARAR PLANILHA COM VBA

Como Separar a Planilha de Excel com VBA?

Hoje vou mostrar uma função que criei para separar uma planilha em várias á partir de uma coluna com o ano e mês.

Para isso foi utilizado o seguinte código com os comentários:

'
'Divide a planilha em diversas a partir do critério do mês
Sub lsSeparaPlanilha()
    
    'Definição das Variáveis
    Dim iTotalLinhas As Integer
    Dim rngAux As Range
    Dim iAnoMes As String
    Dim lRow As Long
    Dim iTotalLinhasAux As Long
    Dim lCel As Long
    
    'Identifica a última linha da planilha
    iTotalLinhas = Cells(Rows.Count, 1).End(xlUp).Row
    
    'Seleciona os dados das colunas
    Columns("A:F").Select
    
    'Realiza a ordenação dos dados pela data
    ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Add Key:=Range("F2:F" & iTotalLinhas) _
    , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    
    With ActiveWorkbook.Worksheets("Plan1").Sort
        .SetRange Range("A1:F" & iTotalLinhas)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
        
    'Analisa as linhas e as separa criando para isso novas planilhas
    For lCel = 2 To iTotalLinhas
        'Ativa a planilha da base de dados
        ActiveWorkbook.Worksheets("Plan1").Activate
        Set rngAux = Range("F" & CStr(lCel))
        
        'Cria uma nova planilha
        If Year(rngAux.Value) & "-" & Month(rngAux.Value)  iAnoMes Then
            Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = CStr(Year(rngAux.Value) & "-" & Month(rngAux.Value))
            iAnoMes = Year(rngAux.Value) & "-" & Month(rngAux.Value)
            ActiveWorkbook.Worksheets("Plan1").Activate
            Range("A1").EntireRow.Select
            Application.CutCopyMode = False
            Selection.Copy
            Sheets(CStr(iAnoMes)).Select
            Range("A1").Select
            ActiveSheet.Paste
        End If
        
        'Realiza a cópia dos dados
        ActiveWorkbook.Worksheets("Plan1").Activate
        rngAux.EntireRow.Select
        Application.CutCopyMode = False
        Selection.Cut
        Sheets(CStr(iAnoMes)).Select
        iTotalLinhas = Cells(Rows.Count, 1).End(xlUp).Row + 1
        Range("A" & CStr(iTotalLinhas)).Select
        ActiveSheet.Paste
        
    Next lCel
    
    'Avisa o usuário o término do processo
    MsgBox "Planilha Separada", vbInformation
    '
End Sub

Então é isso, acredito que esta macro possa ser adaptada a outras necessidades com poucas alterações, e agradeço a sua visita.

Marcos Rieper

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado