Como dividir dados em várias planilhas com base em colunas no Excel?
Supondo que você tenha uma planilha com enormes linhas de dados, e agora, você precisa dividir os dados em várias planilhas com base no Nome coluna (veja a imagem a seguir), e os nomes são inseridos aleatoriamente. Talvez você possa classificá-los primeiro e, em seguida, copiá-los e colá-los um por um em outras novas planilhas. Mas isso exigirá sua paciência para copiar e colar repetidamente. Hoje, falarei sobre alguns truques rápidos para resolver essa tarefa.
Divida os dados em várias planilhas com base na coluna com código VBA
Divida os dados em várias planilhas com base em colunas com o Kutools para Excel
Divida os dados em várias planilhas com base na coluna com código VBA
Se você deseja dividir os dados com base no valor da coluna de forma rápida e automática, o seguinte código VBA é uma boa escolha. 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 código a seguir na janela do módulo.
Sub Splitdatabycol()
'updateby 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
Dim xWS 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
Set xWS = Sheets.Add(after:=Worksheets(Worksheets.Count))
xWS.Name = myarr(i) & ""
Else
xWS.Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
xWS.Paste Destination:=xWS.Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy xWS.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. Então aperte F5 para executar o código e uma caixa de prompt é exibida para lembrá-lo de selecionar a linha de cabeçalho, consulte a captura de tela:
4. E então, clique OK botão, e na segunda caixa de prompt, selecione os dados da coluna que você deseja dividir com base, consulte a captura de tela:
5. Então clique OK, e todos os dados da planilha ativa são divididos em várias planilhas pelo valor da coluna. E as planilhas divididas são nomeadas com os nomes das células divididas. Veja a imagem:
Note: As planilhas divididas são colocadas no final da pasta de trabalho onde a planilha principal está.
Divida os dados em várias planilhas com base em colunas com o Kutools para Excel
Como um iniciante do Excel, esse longo código VBA é um tanto difícil para nós, e a maioria de nós nem sabe como modificar o código conforme nossa necessidade. Aqui, vou apresentar a você uma ferramenta multifuncional -Kutools for Excel, as TIC Dividir Dados utilitário não só pode ajudá-lo a dividir dados em várias planilhas com base na coluna, mas também pode dividir dados por contagem de linhas.
Nota:Para aplicar isso Dividir Dados, 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.
2. Clique Kutools Plus > Planilha > Dividir Dados, veja a captura de tela:
3. No Divida os dados em várias planilhas caixa de diálogo, você precisa:
1). Selecione Coluna específica opção no Dividir com base em seção e escolha o valor da coluna que você deseja dividir os dados com base na lista suspensa. (Se os seus dados tiverem cabeçalhos e você quiser inseri-los em cada nova planilha dividida, verifique Meus dados têm cabeçalhos opção.)
2). Em seguida, você pode especificar os nomes da planilha dividida, no Nome da nova planilha seção, especifique as regras de nomes de planilha do Regras lista suspensa, você pode adicionar o Prefixo or Sufixo para os nomes das folhas também.
3). Clique no OK botão. Veja a imagem:
4. Agora os dados são divididos em várias planilhas em uma nova pasta de trabalho.
Clique para baixar o Kutools para Excel e testar gratuitamente agora!
Divida os dados em várias planilhas com base em colunas com o Kutools para Excel
Kutools for Excel inclui mais de 300 ferramentas úteis do Excel. Gratuito para testar sem limitação em 30 dias. Baixe o teste gratuito agora!
Artigo relacionado:
Como dividir dados em várias planilhas por contagem de linhas?
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- 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!