Skip to main content

Como dividir uma tabela grande em várias tabelas menores no Excel?

Author: Xiaoyang Last Modified: 2025-06-04

Se você tem uma grande tabela no Excel com várias colunas e centenas ou milhares de linhas, pode querer dividi-la em tabelas menores e mais gerenciáveis. Por exemplo, pode ser necessário separar os dados com base em valores específicos de coluna ou dividi-los em partes com um número fixo de linhas. Este tutorial fornece métodos passo a passo para realizar essa tarefa de forma eficiente.

Tabela Principal   Dividir tabela em várias tabelas por valor da coluna Dividir tabela em várias tabelas por contagem de linhas
A screenshot of a large table in Excel before splitting Arrow A screenshot of an Excel table split by column values A screenshot of an Excel table split by row count

Dividir uma tabela grande em várias tabelas com base no valor da coluna usando código VBA

Dividir uma tabela grande em várias tabelas com base em um número específico de linhas usando código VBA

Dividir uma tabela grande em várias tabelas com base no valor da coluna ou número de linhas com Kutools para Excel


Dividir uma tabela grande em várias tabelas com base no valor da coluna usando código VBA

Para dividir esta grande tabela em várias tabelas com base em um valor específico da coluna, o seguinte código VBA pode ajudá-lo. Por favor, siga estas etapas:

1. Pressione e segure as teclas "ALT" + "F11" para abrir a janela "Microsoft Visual Basic for Applications".

2. Clique em "Inserir" > "Módulo", e cole o seguinte código na janela "Módulo".

Código VBA: Divida uma tabela grande em várias tabelas pela coluna-chave:

Sub Splitdatabycol()
'by Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
ws.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) & "").Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub

3. Após colar o código, pressione a tecla "F5" para executá-lo, e uma caixa de diálogo será exibida, solicitando que você selecione a linha de cabeçalho dos seus dados, veja a captura de tela:

A screenshot showing how to select the header row for splitting tables

4. Em seguida, clique em "OK", e outra caixa de diálogo aparecerá, pedindo para selecionar os dados da coluna que deseja usar para dividir a tabela, veja a captura de tela:

A screenshot showing how to select the column for splitting tables by values

5. Clique em "OK". A tabela grande agora foi dividida em várias planilhas com base nos valores das colunas, com as novas planilhas localizadas após a planilha principal. E as novas planilhas são nomeadas com o valor da coluna. Veja a captura de tela:

A screenshot showing multiple worksheets created after splitting by column values


Divida uma tabela grande em várias tabelas com base em um número específico de linhas usando código VBA

Se você precisa dividir a tabela em várias tabelas com base no número de linhas, o seguinte código VBA pode ajudá-lo.

1. Pressione e segure as teclas "ALT" + "F11" para abrir a janela "Microsoft Visual Basic for Applications".

2. Clique em "Inserir" > "Módulo", e cole o seguinte código na janela "Módulo".

Código VBA: Divida uma tabela grande em várias tabelas pelo número de linhas:

Sub Splitdatabyrows()
'Updated by Extendoffice 
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
Dim xTRg As Range
Dim xNTRg As Range
Dim xIER
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set xTRg = Application.InputBox("Please select the header row:", xTitleId, "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set WorkRng = Application.InputBox("Please select the data range(exclude the header row):", xTitleId, WorkRng.Address, Type:=8)
If TypeName(WorkRng) = "Nothing" Then Exit Sub
SplitRow = Application.InputBox("Split Row Num", xTitleId, Type:=1)
If SplitRow = 0 Then Exit Sub
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
xIER = WorkRng.Rows.Count
xIER = WorkRng.Row + xIER - 1
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
    resizeCount = SplitRow
    If (xIER - xRow.Row + 1) < SplitRow Then
        resizeCount = (xIER - xRow.Row + 1)
    End If
    xRow.Resize(resizeCount).Copy
    Set xWs = Application.Worksheets.Add(after:=Application.Worksheets(Application.Worksheets.Count))
    If xIER > (xRow.Row + SplitRow - 1) Then
        xWs.Name = xRow.Row & " - " & (xRow.Row + SplitRow - 1)
    ElseIf xIER = xRow.Row Then
        xWs.Name = xRow.Row
    Else
        xWs.Name = xRow.Row & " - " & xIER
    End If
    Application.ActiveSheet.Range("A1").PasteSpecial
    Set xNTRg = Application.ActiveSheet.Range("A1")
    xTRg.Copy
    xNTRg.Insert
    Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

3. Em seguida, pressione a tecla "F5", na caixa de diálogo que aparecer, selecione a linha de cabeçalho, veja a captura de tela:

A screenshot showing how to select the header row for splitting by row count

4. Em seguida, clique em "OK", e na segunda caixa de diálogo, selecione o intervalo de dados que deseja dividir pelo número de linhas, veja a captura de tela:

A screenshot showing how to select the data range for splitting by rows

5. Depois disso, continue clicando no botão "OK", na terceira caixa de diálogo, insira o número de linhas que deseja usar para dividir, veja a captura de tela:

A screenshot showing how to enter the number of rows for splitting in Excel

6. Em seguida, clique no botão "OK", a tabela principal foi dividida em várias planilhas com base no número de linhas, conforme mostrado na captura de tela abaixo:

A screenshot of multiple worksheets created after splitting by row count


Divida uma tabela grande em várias tabelas com base no valor da coluna ou número de linhas com Kutools para Excel

Os códigos acima podem ser difíceis para a maioria dos usuários; aqui, vou apresentar um recurso incrível - "Dividir Dados" do "Kutools para Excel". Com esta ferramenta, você pode dividir uma tabela grande em várias tabelas pela coluna-chave ou número de linhas rapidamente e facilmente.

Kutools para Excel oferece mais de 300 recursos avançados para simplificar tarefas complexas, aumentando a criatividade e a eficiência. Integrado com capacidades de IA, o Kutools automatiza tarefas com precisão, tornando a gestão de dados fácil e eficiente. Mais informações sobre o Kutools para Excel...  Teste gratuito...

1. Selecione o intervalo de dados que deseja dividir e, em seguida, clique em "Kutools Plus" > "Dividir Dados", veja a captura de tela:

2. Na caixa de diálogo "Dividir Dados em Múltiplas Planilhas", especifique as configurações conforme sua necessidade:

(1.) Selecione "Especificar coluna" ou "Valor fixo" na seção "Critério de Divisão", conforme necessário;

(2.) Especifique o nome das novas planilhas na lista suspensa "Regra", você também pode adicionar um "Prefixo" ou "Sufixo" aos nomes das planilhas.

A screenshot showing settings for splitting data using Kutools

3. Em seguida, clique no botão "Ok", e agora, a tabela grande foi dividida em várias pequenas tabelas em uma nova pasta de trabalho. Veja as capturas de tela:

Divida a tabela em várias tabelas por valor da coluna Divida a tabela em várias tabelas por contagem de linhas
A screenshot of an Excel table split into worksheets by column values using Kutools A screenshot of an Excel table split into worksheets by row count using Kutools

Kutools para Excel - Potencialize o Excel com mais de 300 ferramentas essenciais. Aproveite recursos de IA permanentemente gratuitos! Obtenha Agora


Mais artigos relacionados:

  • Divida uma Pasta de Trabalho em Arquivos do Excel Separados no Excel
  • Você pode precisar dividir uma grande pasta de trabalho em arquivos do Excel separados, salvando cada planilha da pasta como um arquivo individual do Excel. Por exemplo, você pode dividir uma pasta de trabalho em vários arquivos individuais do Excel e depois entregar cada arquivo a uma pessoa diferente para manipulá-lo. Fazendo isso, você pode fazer com que certas pessoas manipulem dados específicos e manter seus dados seguros. Este artigo introduzirá maneiras de dividir uma grande pasta de trabalho em arquivos do Excel separados com base em cada planilha.
  • Divida Nome Completo em Primeiro e Último Nome no Excel
  • Suponha que você tenha uma lista de nomes como mostra a primeira captura de tela abaixo em uma única coluna, e você precisa dividir o nome completo nas colunas de primeiro nome, nome do meio e sobrenome, conforme mostrado na captura de tela a seguir. Aqui estão alguns métodos engenhosos para ajudá-lo a resolver esse problema.
  • Divida Palavra ou Número em Células Separadas no Excel
  • Se você tem uma lista de números ou palavras em uma planilha, e agora precisa dividir o conteúdo da célula em letras em diferentes células, conforme mostrado na captura de tela a seguir, como você pode lidar com essa tarefa no Excel?
  • Divida uma Lista Longa em Grupos Iguais no Excel
  • Se você tem uma longa lista de dados que precisa ser dividida em múltiplos grupos iguais, conforme mostrado na captura de tela a seguir, como você poderia lidar com essa tarefa rapidamente e facilmente no Excel?

Melhores Ferramentas de Produtividade para Office

🤖 Assistente AI do KUTOOLS: Revolucione a análise de dados com base em: Execução Inteligente | Gerar Código | Criar Fórmulas Personalizadas | Analisar Dados e Gerar Gráficos | Invocar Funções Aprimoradas
Recursos Populares: Encontrar, Destacar ou Marcar Duplicatas | Excluir Linhas em Branco | Combinar Colunas ou Endereço sem Perder Dados | Arredondar...
Super PROC: PROC com Múltiplos Critérios | PROC com Múltiplos Valores | Procura em várias planilhas | Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente uma Lista Suspensa | Lista Suspensa Dependente | Lista Suspensa com Múltipla Seleção...
Gerenciador de Colunas: Adicionar um Número Específico de Colunas | Mover Colunas | Alternar Estado de Visibilidade das Colunas Ocultas | Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco | Visualização de Design | Barra de fórmulas aprimorada | Gerenciador de Pasta de trabalho & Planilha | Biblioteca de AutoTexto | Selecionador de Data | Mesclar Dados | Criptografar/Descriptografar Células | Enviar Email por Lista | Super Filtro | Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...) | Mais de50 Tipos de Gráficos (Gráfico de Gantt, ...) | Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ...) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ... e muito mais

Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...


O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho

  • Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!