¿Cómo crear nuevas hojas para cada fila en Excel?
En tareas de gestión de datos o generación de informes, a veces puede ser necesario separar cada registro de una tabla en su propia hoja de cálculo. Por ejemplo, si mantienes una lista de detalles de estudiantes en Excel, donde cada fila representa la información de un estudiante diferente, podrías desear generar una hoja separada para cada estudiante, cada una conteniendo sus datos específicos. Alternativamente, podrías simplemente querer dividir cada fila —independientemente de su contenido— para que cada una se coloque en una nueva hoja de cálculo por sí sola. Crear manualmente y copiar datos en nuevas hojas puede ser un proceso que consume mucho tiempo y es propenso a errores, especialmente si trabajas con un conjunto de datos grande. Automatizar este proceso ahorra tiempo significativo y reduce el riesgo de errores. Esta guía te lleva a través de dos soluciones prácticas para crear nuevas hojas para cada fila en Excel y explica los pros y contras de cada método para ayudarte a seleccionar el mejor enfoque para tu escenario.
Crear nuevas hojas para cada fila con código VBA
Crear nuevas hojas para cada fila con la utilidad Dividir Datos de Kutools para Excel
Crear nuevas hojas para cada fila con código VBA
Usar VBA (Visual Basic for Applications) es una forma efectiva de automatizar tareas de Excel que de otro modo serían tediosas y repetitivas. Con VBA, puedes crear rápidamente nuevas hojas de cálculo para cada fila en tus datos, ya sea agrupando filas basadas en una columna (como un nombre de estudiante), o creando una hoja para cada fila individual sin importar el contenido. Este enfoque es ideal para usuarios familiarizados con el editor de VBA y que prefieren una solución altamente personalizable. Sin embargo, requiere editar y ejecutar código, por lo que puede no ser adecuado para usuarios que no tienen experiencia con VBA o carecen de permisos para ejecutar macros en su entorno.
1. Presiona "Alt" + "F11" para abrir la ventana de Microsoft Visual Basic for Applications, que te permite acceder al código VBA para automatizar operaciones de Excel.
2. En la ventana de Microsoft Visual Basic for Applications, haz clic en Insertar > Módulo para añadir un nuevo módulo de código. Luego, copia y pega el siguiente código en la ventana del Módulo.
Código VBA: crear una nueva hoja para cada fila basada en una columna
Sub parse_data()
'Update by Extendoffice 2018/3/2
Dim xRCount As Long
Dim xSht As Worksheet
Dim xNSht As Worksheet
Dim I As Long
Dim xTRrow As Integer
Dim xCol As New Collection
Dim xTitle As String
Dim xSUpdate As Boolean
Set xSht = ActiveSheet
On Error Resume Next
xRCount = xSht.Cells(xSht.Rows.Count, 1).End(xlUp).Row
xTitle = "A1:C1"
xTRrow = xSht.Range(xTitle).Cells(1).Row
For I = 2 To xRCount
Call xCol.Add(xSht.Cells(I, 1).Text, xSht.Cells(I, 1).Text)
Next
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
For I = 1 To xCol.Count
Call xSht.Range(xTitle).AutoFilter(1, CStr(xCol.Item(I)))
Set xNSht = Nothing
Set xNSht = Worksheets(CStr(xCol.Item(I)))
If xNSht Is Nothing Then
Set xNSht = Worksheets.Add(, Sheets(Sheets.Count))
xNSht.Name = CStr(xCol.Item(I))
Else
xNSht.Move , Sheets(Sheets.Count)
End If
xSht.Range("A" & xTRrow & ":A" & xRCount).EntireRow.Copy xNSht.Range("A1")
xNSht.Columns.AutoFit
Next
xSht.AutoFilterMode = False
xSht.Activate
Application.ScreenUpdating = xSUpdate
End Sub
Explicación de parámetros y consejos de uso:
- A1:C1 es el rango del encabezado para tu tabla de datos. Ajusta esta referencia para que coincida con tu área de encabezado de datos real según sea necesario.
- El código recopila valores únicos de la columna especificada (por defecto, columna A). Cada valor único obtiene su propia hoja de trabajo con las filas correspondientes.
- Si tu tabla es más ancha o comienza desde una fila diferente, actualiza
xTitle
y las referencias de celda en consecuencia. - Si tu hoja de trabajo contiene fórmulas que hacen referencia a otras hojas, verifica las referencias después de dividir.
3. Presiona la tecla F5 o haz clic en Ejecutar para ejecutar el código. Se crearán nuevas hojas de trabajo después de todas las hojas existentes en el libro actual, cada una nombrada según el valor único de la columna elegido. Consulta la captura de pantalla a continuación para ver un resultado de ejemplo:
Si deseas simplemente dividir cada fila en su propia hoja de trabajo, independientemente del contenido de la columna, puedes usar el siguiente código VBA alternativo. Esto elimina la necesidad de especificar una condición de columna.
Código VBA: Directamente crear una nueva hoja para cada fila
Sub RowToSheet()
Dim xRow As Long
Dim I As Long
With ActiveSheet
xRow = .Range("A" & Rows.Count).End(xlUp).Row
For I = 1 To xRow
Worksheets.Add(, Sheets(Sheets.Count)).Name = "Row " & I
.Rows(I).Copy Sheets("Row " & I).Range("A1")
Next I
End With
End Sub
Después de ejecutar este código en el módulo, cada fila de la hoja de trabajo activa —incluyendo la fila de encabezado— se copiará en una hoja de trabajo recién creada. Ten en cuenta que la fila de encabezado también se duplicará; si deseas evitar esto, es posible que necesites eliminarla o ajustar las hojas de salida manualmente después.
Solución de problemas y consejos prácticos:
- Si encuentras un error como "Subíndice fuera de rango", asegúrate de que los nombres de tus hojas no contienen caracteres inválidos o nombres duplicados.
- Conjuntos de datos grandes pueden resultar en un gran número de hojas, lo cual puede ralentizar Excel o dificultar la navegación. Considera si dividir por fila es necesario para tablas extremadamente grandes.
- Siempre mantén una copia de seguridad de tus datos antes de ejecutar código VBA para prevenir la pérdida involuntaria de datos.
Ventajas: Gratis; altamente personalizable.
Desventajas: Requiere tener habilitadas las macros/VBA y cierta familiaridad con el editor de VBA; posibilidad de errores de código con datos complejos o inusuales.
Adecuado para: Usuarios que necesitan flexibilidad en scripting, y para tareas únicas o irregulares.
Crear nuevas hojas para cada fila con la utilidad Dividir Datos de Kutools para Excel
Si prefieres un enfoque sencillo y fácil de usar sin escribir código, se recomienda encarecidamente la utilidad Dividir Datos de Kutools para Excel. Esta función te ayuda a dividir datos en nuevas hojas de trabajo rápidamente con solo unos pocos clics, simplificando significativamente el proceso de gestión de hojas de trabajo. Kutools es especialmente útil para usuarios que manejan regularmente tablas grandes y complejas o que prefieren interfaces gráficas sobre la codificación manual. Ten en cuenta que Kutools es un complemento de Excel y debe instalarse con antelación.
1. Selecciona la tabla que contiene los datos que deseas dividir en hojas de trabajo individuales. Luego, haz clic en la pestaña Kutools Plus y selecciona Dividir Datos. Consulta la captura de pantalla a continuación para mayor claridad:
2. En el cuadro de diálogo Dividir Datos en Múltiples Hojas de Trabajo, elige la configuración adecuada según tus necesidades de división.
A. Para crear nuevas hojas basadas en valores de columna:
B. Para crear directamente nuevas hojas para cada fila:
Después de la ejecución, se generará un nuevo libro que contiene todas las nuevas hojas de trabajo —cada una poblada según la configuración que seleccionaste.
Creando nuevas hojas para cada fila basadas en valores de columna:
Creando una nueva hoja para cada fila sin considerar los valores de columna:
Precauciones y consejos prácticos:
- Antes de usar la utilidad Dividir Datos, asegúrate de que no hay filas en blanco en tu tabla, ya que estas pueden resultar en hojas vacías.
- Revisa las convenciones de nombres de hojas para evitar nombres de hoja de trabajo duplicados o inválidos; Kutools ajustará automáticamente si ocurre un conflicto de nombres.
- El proceso puede generar un gran número de hojas de trabajo si tu tabla es muy grande, así que considera esto antes de proceder.
Ventajas: Fácil de usar sin necesidad de codificación; adecuado para procesamiento por lotes y tareas frecuentes.
Desventajas: Requiere tener instalado el complemento Kutools.
Adecuado para: Todos los niveles de usuarios de Excel, especialmente aquellos que manejan segmentación de datos repetitiva.
Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora
Demostración: Crear nuevas hojas para cada fila con la utilidad Dividir Datos de Kutools para Excel
Las mejores herramientas de productividad para Office
Mejora tu dominio de 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 incorpora la interfaz de pestañas en 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 hacerlo en ventanas separadas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!
Todos los complementos de Kutools. Un solo instalador
El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.





- Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
- Mejor juntos: productividad optimizada en todas las aplicaciones de Office
- Prueba completa de30 días: sin registro ni tarjeta de crédito
- La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos