Skip to main content

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

Author: Xiaoyang Last Modified: 2025-06-04

Si tienes una gran tabla de Excel con múltiples columnas y cientos o miles de filas, es posible que desees dividirla en tablas más pequeñas y manejables. Por ejemplo, podrías necesitar separar los datos según valores específicos de una columna o dividirlos en grupos de un número fijo de filas. Este tutorial proporciona métodos paso a paso para realizar esta tarea de manera eficiente.

Tabla principal   Dividir la tabla en múltiples tablas por valor de columna Dividir la tabla en múltiples tablas por conteo de filas
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 una tabla grande en múltiples tablas basadas en el valor de una columna con código VBA

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

Dividir una tabla grande en múltiples tablas basadas en el valor de una columna o número de filas con Kutools para Excel


Dividir una tabla grande en múltiples tablas basadas en el valor de una columna con código VBA

Para dividir esta gran tabla en múltiples tablas basadas en un valor específico de una columna, el siguiente código VBA puede ayudarte. Por favor, sigue estos pasos:

1. Mantén presionadas las teclas "ALT" + "F11" para abrir la ventana "Microsoft Visual Basic para Aplicaciones".

2. Haz clic en "Insertar" > "Módulo", y pega el siguiente código en la ventana "Módulo".

Código VBA: Dividir una tabla grande en múltiples 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. Después de pegar el código, presiona la tecla "F5" para ejecutarlo, y aparecerá un cuadro de diálogo donde deberás seleccionar la fila de encabezado de tus datos, como se muestra en la captura de pantalla:

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

4. Luego, haz clic en "Aceptar", y aparecerá otro cuadro de diálogo donde deberás seleccionar los datos de la columna en la que deseas dividir la tabla, como se muestra en la captura de pantalla:

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

5. Haz clic en "Aceptar". La tabla grande ahora se ha dividido en múltiples hojas de cálculo basadas en los valores de la columna, con las nuevas hojas de cálculo ubicadas después de la hoja maestra. Las nuevas hojas de cálculo están nombradas con el valor de la columna. Ver captura de pantalla:

A screenshot showing multiple worksheets created after splitting by column values


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

Si necesitas dividir la tabla en múltiples tablas basadas en el número de filas, el siguiente código VBA puede ayudarte.

1. Mantén presionadas las teclas "ALT" + "F11" para abrir la ventana "Microsoft Visual Basic para Aplicaciones".

2. Haz clic en "Insertar" > "Módulo", y pega el siguiente código en la ventana "Módulo".

Código VBA: Dividir una tabla grande en múltiples 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. Luego, presiona la tecla "F5", en el cuadro de diálogo emergente, selecciona la fila de encabezado, como se muestra en la captura de pantalla:

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

4. Luego, haz clic en "Aceptar", y en el segundo cuadro de diálogo, selecciona el rango de datos que deseas dividir por conteo de filas, como se muestra en la captura de pantalla:

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

5. Y luego, sigue haciendo clic en el botón "Aceptar", en el tercer cuadro de diálogo, ingresa el número de filas por el cual deseas dividir, como se muestra en la captura de pantalla:

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

6. Luego, haz clic en el botón "Aceptar", la tabla maestra se ha dividido en múltiples hojas de cálculo basadas en el número de filas, como se muestra en la siguiente captura de pantalla:

A screenshot of multiple worksheets created after splitting by row count


Dividir una tabla grande en múltiples tablas basadas en el valor de una columna o número de filas con Kutools para Excel

Los códigos anteriores podrían ser difíciles para la mayoría de los usuarios; aquí, te presentaré una característica sorprendente: "Dividir Datos" de "Kutools para Excel". Con esta utilidad, puedes dividir una tabla grande en múltiples tablas por columna clave o número de filas rápidamente y fácilmente.

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

1. Selecciona el rango de datos que deseas dividir, y luego, haz clic en "Kutools Plus" > "Dividir Datos", como se muestra en la captura de pantalla:

2. En el cuadro de diálogo "Dividir Datos en Múltiples Hojas de Cálculo", especifica la configuración según tus necesidades:

(1.) Selecciona "Columna específica" o "Filas fijas" de la sección "Dividir basado en" según sea necesario;

(2.) Especifica el nombre de las nuevas hojas de cálculo desde la lista desplegable "Regla", también puedes agregar un "Prefijo" o "Sufijo" a los nombres de las hojas.

A screenshot showing settings for splitting data using Kutools

3. Luego, haz clic en el botón "Aceptar", y ahora, la tabla grande se ha dividido en múltiples tablas pequeñas en un nuevo libro de trabajo. Ver capturas de pantalla:

Dividir la tabla en múltiples tablas por valor de columna Dividir la tabla en múltiples tablas por conteo de filas
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 - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora


Más artículos relacionados:

  • Dividir un Libro en Archivos de Excel Separados en Excel
  • Es posible que necesites dividir un gran libro en archivos de Excel separados guardando cada hoja de cálculo del libro como un archivo de Excel individual. Por ejemplo, puedes dividir un libro en varios archivos de Excel individuales y luego entregar cada archivo a diferentes personas para que lo manejen. Al hacerlo, puedes asegurarte de que ciertas personas manejen datos específicos y mantener tus datos seguros. Este artículo introducirá formas de dividir un gran libro en archivos de Excel separados basados en cada hoja de cálculo.
  • Dividir Nombre Completo en Nombre y Apellido en Excel
  • Supongamos que tienes una lista de nombres como se muestra en la primera captura de pantalla en una sola columna, y necesitas dividir el nombre completo en la columna de nombre, columna de segundo nombre y columna de apellido como se muestra en la siguiente captura de pantalla. Aquí hay algunos métodos ingeniosos para ayudarte a resolver este problema.
  • Dividir Palabra o Número en Celdas Separadas en Excel
  • Si tienes una lista de números o palabras en una hoja de cálculo, y ahora necesitas dividir el contenido de las celdas en letras en diferentes celdas como se muestra en la siguiente captura de pantalla, ¿cómo puedes manejar este trabajo en Excel?
  • Dividir una Lista Larga en Grupos Iguales en Excel
  • Si tienes una lista larga de datos que necesita ser dividida en múltiples grupos iguales como se muestra en la siguiente captura de pantalla, ¿cómo podrías manejar esta tarea rápidamente y fácilmente en Excel?

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado 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 | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar 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 | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!