KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo dividir una tabla grande en varias tablas más pequeñas en Excel?

AutorXiaoyang Fecha de modificación

Si tiene una tabla grande en Excel con múltiples columnas y cientos o miles de filas, probablemente querrá dividirla en tablas más pequeñas y manejables. Por ejemplo, podría necesitar separar los datos según los valores de una columna específica o dividirlos en bloques de un número fijo de filas. Este tutorial le ofrece métodos paso a paso para realizar esta tarea de forma eficiente.

Tabla principal  Dividir tabla en varias tablas por valor de columnaDividir tabla en varias tablas por número de filas
Una captura de pantalla de una tabla grande en Excel antes de dividirlaFlechaUna captura de pantalla de una tabla de Excel dividida por valores de columnaUna captura de pantalla de una tabla de Excel dividida por número de filas

Dividir una tabla grande en varias tablas según el valor de una columna con código VBA

Dividir una tabla grande en varias tablas según un número específico de filas con código VBA

Dividir una tabla grande en varias tablas según el valor de una columna o el número de filas con Kutools para Excel


Dividir una tabla grande en varias tablas según el valor de una columna con código VBA

Para dividir esta tabla grande en varias tablas según un valor de la columna especificada, el siguiente código VBA le será de gran ayuda. Siga estos pasos:

1. Mantenga pulsadas las teclas «ALT» + "F11" para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. Haga clic en «Insertar» > «Módulo» y pegue el siguiente código en la ventana del módulo.

Código VBA: Dividir una tabla grande en varias tablas por Columna clave:

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. Tras pegar el código, pulse la tecla "F5" para ejecutarlo y aparecerá un cuadro de diálogo. Seleccione la fila de encabezado de sus datos; consulte la captura de pantalla:

Una captura de pantalla que muestra cómo seleccionar la fila de encabezado para dividir tablas

4. A continuación, haga clic en «Aceptar» y aparecerá otro cuadro de diálogo. Seleccione los datos de la columna según los cuales desee dividir la tabla; consulte la captura de pantalla:

Una captura de pantalla que muestra cómo seleccionar la columna para dividir tablas por valores

5. Haga clic en «Aceptar». La tabla grande se ha dividido ahora en varias hojas de cálculo según los valores de la columna, con las nuevas hojas situadas tras la hoja maestra. Además, cada hoja nueva recibe como nombre el valor correspondiente de la columna. Consulte la captura de pantalla:

Una captura de pantalla que muestra varias hojas de cálculo creadas tras dividir por valores de columna


Dividir una tabla grande en varias tablas según un número específico de filas con código VBA

Si necesita dividir la tabla en varias tablas según el número de filas, el siguiente código VBA le será de gran ayuda.

1. Mantenga pulsadas las teclas «ALT» + "F11" para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. Haga clic en «Insertar» > «Módulo» y pegue el siguiente código en la ventana del módulo.

Código VBA: Dividir una tabla grande en varias tablas por número de filas:

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. A continuación, pulse la tecla "F5". En el cuadro de diálogo que aparece, seleccione la fila de encabezado; consulte la siguiente captura de pantalla:

Una captura de pantalla que muestra cómo seleccionar la fila de encabezado para dividir por número de filas

4. Luego, haga clic en «Aceptar» y, en el segundo cuadro de diálogo, seleccione el rango de datos por el que desea dividir según el número de filas; consulte la captura de pantalla:

Una captura de pantalla que muestra cómo seleccionar el rango de datos para dividir por filas

5. A continuación, siga haciendo clic en el botón «Aceptar». En el tercer cuadro de diálogo, introduzca el número de filas por el que desea dividir; consulte la captura de pantalla:

Una captura de pantalla que muestra cómo introducir el número de filas para dividir en Excel

6. A continuación, haga clic en el botón «Aceptar». La tabla maestra se dividirá en varias hojas de cálculo según el número de filas, tal como se muestra en la siguiente captura de pantalla:

Una captura de pantalla de varias hojas de cálculo creadas tras dividir por número de filas


Dividir una tabla grande en varias tablas según el valor de una columna o el número de filas con Kutools para Excel

Los códigos anteriores pueden resultar complicados para la mayoría de los usuarios. Por eso, presentamos una función extraordinaria: **«Dividir Datos» de Kutools para Excel**. Con esta herramienta, podrá dividir rápida y fácilmente una tabla grande en varias tablas según una columna clave o un número determinado de filas.

Kutools para Excelofrece más de 300 funciones avanzadas para simplificar tareas complejas, potenciando la creatividad y la eficiencia.Integrado con capacidades de IA, Kutools automatiza tareas con precisión, haciendo que la gestión de datos sea sencilla.Información detallada de Kutools para Excel...         Prueba gratuita...

1. Seleccione el rango de datos que desea dividir y, a continuación, haga clic en «Kutools Plus» > «Dividir datos»; consulte la captura de pantalla:

2. En el cuadro de diálogo «Dividir datos en múltiples hojas de cálculo», configure las opciones que necesite:

(1.) Seleccione «Especificar columna» o «Valor fijo» en la sección «Criterio de División» según sus necesidades;

(2.) Especifique el nombre de las hojas de cálculo creadas en la lista desplegable «Reglas». Asimismo, puede añadir un «prefijo» o un «sufijo» a los nombres de las hojas.

Una captura de pantalla que muestra la configuración para dividir datos con Kutools

3. A continuación, haga clic en el botón «Aceptar». La tabla grande se habrá dividido en varias tablas más pequeñas en un nuevo libro de trabajo. Consulte las capturas de pantalla:

Dividir tabla en varias tablas por valor de columnaDividir tabla en varias tablas por número de filas
Una captura de pantalla de una tabla de Excel dividida en hojas de cálculo por valores de columna mediante KutoolsUna captura de pantalla de una tabla de Excel dividida en hojas de cálculo por número de filas mediante Kutools

Kutools para Excel: potencie Excel con más de 300 herramientas esenciales, agilice y simplifique su trabajo, y aproveche las funciones de IA para un procesamiento de datos más inteligente y una mayor productividad.Consígalo ahora


Más artículos relacionados:

  • Dividir un libro de trabajo en archivos Archivos de Excel independientes en Excel
  • Es posible que necesite dividir un libro de trabajo grande en varios archivos de Excel, guardando cada hoja como un archivo independiente. Por ejemplo, puede separar un libro en múltiples archivos de Excel y entregar cada uno a una persona distinta para su gestión. Así, ciertos usuarios podrán administrar únicamente los datos que les corresponden, manteniendo su información segura. Este artículo presenta distintos métodos para dividir un libro de trabajo grande en archivos de Excel independientes, uno por cada hoja.
  • Dividir Nombre completo en la primera y Apellido en Excel
  • Supongamos que dispone de una lista de nombres como muestra la primera captura de pantalla en una única columna inferior, y necesita dividir el Nombre completo en las columnas Nombre, Segundo Nombre y Apellido, tal como se muestra en la siguiente captura de pantalla. A continuación se incluyen algunos métodos prácticos para resolver este problema.

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...


Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos