Como dividir uma grande tabela em várias pequenas tabelas no Excel?
Se você tiver uma planilha grande que contém várias colunas e centenas ou milhares de dados de linhas, agora, você deseja dividir essa tabela grande em várias tabelas pequenas com base no valor da coluna ou número de linhas para obter os seguintes resultados. Como você lidaria com essa tarefa no Excel?
Mesa Principal | Divida a tabela em várias tabelas por valor de coluna | Divida a tabela em várias tabelas por contagem de linhas | |
Divida uma grande tabela em várias tabelas com base no valor da coluna com código VBA
Divida uma grande tabela em várias tabelas com base no número específico de linhas com código VBA
Divida uma grande tabela em várias tabelas com base no valor da coluna com código VBA
Para dividir essa grande tabela em várias tabelas com base em um valor de coluna específico, o seguinte código VBA pode fazer um favor. Faça o seguinte:
1. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.
2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.
Código VBA: divida uma grande tabela em várias tabelas por 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. Depois de colar o código, pressione F5 para executar este código e uma caixa de prompt for exibida, selecione a linha de cabeçalho de seus dados, consulte a captura de tela:
4. Então clique OK, e outra caixa de diálogo é exibida, selecione os dados da coluna em que deseja dividir a tabela, consulte a captura de tela:
5. Clique OK, esta grande tabela foi dividida em várias planilhas pelo valor da coluna que está localizada após a planilha mestre. E as novas planilhas são nomeadas com o valor da coluna. Veja a imagem:
Divida uma grande tabela em várias tabelas com base no número específico de linhas com código VBA
Se você precisar dividir a tabela em várias tabelas com base no número de linhas, o código VBA a seguir pode ajudá-lo.
1. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.
2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.
Código VBA: divida uma grande tabela em várias tabelas por 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. Então aperte F5 chave, na caixa de diálogo exibida, selecione a linha de cabeçalho, consulte a captura de tela:
4. Então clique OKe, na segunda caixa de prompt, selecione o intervalo de dados que deseja dividir pela contagem de linhas, consulte a captura de tela:
5. E então, continue clicando OK botão, na terceira caixa de prompt, digite o número de linhas que você deseja dividir, veja a captura de tela:
6. Então clique OK botão, a tabela mestre foi dividida em várias planilhas com base no número de linhas, conforme a captura de tela abaixo:
Divida uma grande tabela em várias tabelas com base no valor da coluna ou número de linhas com um recurso incrível
Pode ser que os códigos acima sejam difíceis para a maioria dos usuários, aqui, vou apresentar um recurso incrível-Dividir Dados of Kutools for Excel. Com este utilitário, você pode dividir uma grande tabela em várias tabelas por coluna-chave ou número de linhas de forma rápida e fácil.
Dicas:Para aplicar isso Dividir Dados recurso, em primeiro lugar, você deve baixar o Kutools for Excele, em seguida, aplique o recurso de forma rápida e fácil.
Depois de instalar Kutools for Excel, por favor, faça o seguinte:
1. Selecione o intervalo de dados que deseja dividir e clique em Kutools Plus > Dividir Dados, veja a captura de tela:
2. No Divida os dados em várias planilhas caixa de diálogo, especifique as configurações de acordo com sua necessidade:
(1.) Selecione Coluna específica or Linhas fixas do Dividir com base em seção conforme você precisa;
(2.) Especifique o novo nome das planilhas do Regras lista suspensa, você pode adicionar o Prefixo or Sufixo aos nomes das folhas também.
3. Então clique Ok botão, e agora, a grande mesa foi dividida em várias pequenas mesas em uma nova pasta de trabalho. Veja as capturas de tela:
Divida a tabela em várias tabelas por valor de coluna | Divida a tabela em várias tabelas por contagem de linhas |
Clique para baixar o Kutools para Excel e testar gratuitamente agora!
Mais artigos relativos:
- Divida uma pasta de trabalho para separar arquivos do Excel no Excel
- Pode ser necessário dividir uma pasta de trabalho grande para separar os arquivos do Excel, salvando cada planilha da pasta de trabalho como um arquivo individual do Excel. Por exemplo, você pode dividir uma pasta de trabalho em vários arquivos Excel individuais e, a seguir, entregar cada arquivo a uma pessoa diferente para lidar com ele. Ao fazer isso, você pode fazer com que certas pessoas lidem com dados específicos e os mantenha protegidos. Este artigo apresentará maneiras de dividir uma pasta de trabalho grande para separar arquivos do Excel com base em cada planilha.
- Divida o nome completo em nome e sobrenome no Excel
- Supondo que você tenha uma lista de nomes como a primeira captura de tela mostra na coluna única abaixo, e você precisa dividir o nome completo na coluna do primeiro nome, coluna do nome do meio e coluna do sobrenome como mostrado na imagem a seguir. Aqui estão alguns métodos complicados para ajudá-lo a resolver esse problema.
- Divida uma coluna longa em várias colunas no Excel
- Se você tiver uma coluna longa de dados no Excel, isso será problemático ao visualizá-los. Mas agora, se você puder dividir essa longa lista em várias colunas no Excel, a visualização será conveniente.
- Divida a palavra ou o 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 células diferentes, conforme mostrado a seguir, como você pode lidar com esse trabalho no Excel?
- Divida uma longa lista em grupos iguais no Excel
- Se você tem uma longa lista de dados que precisam ser divididos em vários grupos iguais, como mostrado a seguir, como você pode lidar com essa tarefa de forma rápida e fácil no Excel?
As melhores ferramentas de produtividade para escritório
O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%
- Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
- Mesclar células / linhas / colunas e manutenção de dados; Dividir o conteúdo das células; Combine Linhas Duplicadas e Soma / Média... Evite células duplicadas; Comparar intervalos...
- Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
- Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
- Fórmulas favoritas e de inserção rápida, Intervalos, gráficos e imagens; Criptografar células com senha; Criar lista de discussão e enviar emails ...
- Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
- Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
- Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
- Agrupamento de tabela dinâmica por número da semana, dia da semana e mais ... Mostrar células desbloqueadas, bloqueadas por cores diferentes; Destacar células que possuem fórmula / nome...
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!