¿Cómo crear una hoja nueva para cada fila en Excel?
En tareas de gestión de datos o generación de informes, es posible que necesite separar cada registro de una tabla en su propia hoja de cálculo. Por ejemplo, si tiene una lista con los datos de estudiantes en Excel —donde cada fila corresponde a un estudiante distinto—, podría querer generar una hoja independiente para cada uno, que incluya únicamente su información. Otra opción sería dividir simplemente cada fila, sin importar su contenido, de modo que cada una se traslade a una hoja nueva. Copiar manualmente los datos en hojas nuevas puede resultar tedioso y propenso a errores, especialmente al trabajar con conjuntos de datos grandes. Automatizar este proceso ahorra tiempo considerable y minimiza el riesgo de equivocaciones. Esta guía le presenta dos soluciones prácticas para crear una hoja nueva por fila en Excel, y detalla las ventajas e inconvenientes de cada método, ayudándole a elegir el enfoque más adecuado para sus necesidades.
Crear hojas nuevas para cada fila con código VBA
Crear hojas nuevas para cada fila con la utilidad Dividir Datos de Kutools para Excel
Crear hojas nuevas para cada fila con código VBA
Utilizar VBA (Visual Basic for Applications) es una forma eficaz de automatizar en Excel tareas que, de otro modo, resultarían tediosas y repetitivas. Con VBA, puede crear rápidamente una hoja de cálculo nueva para cada fila de sus datos, ya sea agrupando filas según una columna (como el nombre de un estudiante) o generando una hoja por cada fila individual, independientemente de su contenido. Este enfoque es ideal para usuarios familiarizados con el editor de VBA y que buscan una solución altamente personalizable. No obstante, requiere editar y ejecutar código, por lo que podría no ser adecuado para quienes carezcan de experiencia en VBA o no dispongan de permisos para ejecutar macros en su entorno.
1. Pulse «Alt» + "F11" para abrir la ventana de Microsoft Visual Basic for Applications, que le permite acceder al código VBA y automatizar operaciones en Excel.
2. En la ventana de Microsoft Visual Basic for Applications, haga clic en Insertar > Módulo para añadir un nuevo módulo de código. A continuación, copie y pegue el siguiente código en la ventana del módulo.
Código VBA: crear una hoja nueva para cada fila según 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 de encabezado de su tabla de datos. Ajuste esta referencia para que coincida con el área real de los encabezados de sus datos según sea necesario.
- El código recopila los valores únicos de la columna especificada (por defecto, la columna A), y cada valor único obtiene su propia hoja de cálculo con las filas correspondientes.
- Si su tabla es más ancha o comienza en una fila distinta, actualice
xTitley las referencias de celda en consecuencia. - Si su hoja de cálculo incluye fórmulas que hacen referencia a otras hojas, verifique esas referencias después de dividir la hoja.
3. Pulse la tecla F5 o haga clic en Ejecutar para ejecutar el código. Se creará una hoja de cálculo nueva tras todas las hojas existentes en el libro de trabajo actual, cada una con el nombre del valor único de la columna seleccionada. Consulte la siguiente captura de pantalla para ver un ejemplo del resultado:

Si desea dividir cada fila en su propia hoja de cálculo, independientemente del contenido de la columna, puede usar el siguiente código VBA alternativo, lo que elimina la necesidad de especificar una condición de columna.
Código VBA: crear directamente una hoja nueva 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 Tras ejecutar este código en el módulo, cada fila de la hoja activa —incluida la fila de encabezado— se copiará a una hoja de cálculo recién creada. Tenga en cuenta que la fila de encabezado también se duplicará; si desea evitarlo, deberá eliminarla o ajustar manualmente las hojas resultantes posteriormente.
Resolución de problemas y consejos prácticos:
- Si recibe un error como «Subíndice fuera de intervalo», asegúrese de que los nombres de sus hojas no contengan caracteres no válidos ni nombres duplicados.
- Los conjuntos de datos grandes pueden generar un gran número de hojas, lo que podría ralentizar Excel o dificultar la navegación. Considere si la división por filas es realmente necesaria en tablas extremadamente grandes.
- Haga siempre una copia de seguridad de sus datos antes de ejecutar código VBA para evitar pérdidas accidentales.
Ventajas: Gratuito y altamente personalizable.
Inconvenientes: Requiere tener habilitadas las macros o VBA, así como cierta familiaridad con el editor de VBA; además, puede haber errores de código con datos complejos o inusuales.
Adecuado para: Usuarios que buscan flexibilidad mediante scripts y necesitan realizar tareas puntuales u ocasionales.
Crear hojas nuevas para cada fila con la utilidad Dividir Datos de Kutools para Excel
Si prefiere un enfoque sencillo e intuitivo sin escribir código, le recomendamos encarecidamente la utilidad Dividir Datos de Kutools para Excel. Esta función le permite dividir datos en una hoja de cálculo nueva rápidamente con solo unos pocos clics, simplificando notablemente la gestión de sus hojas. Kutools resulta especialmente útil para usuarios que manejan habitualmente tablas grandes y complejas o que prefieren interfaces gráficas frente a la codificación manual. Tenga en cuenta que Kutools es un complemento de Excel y debe instalarse previamente.
1. Seleccione la tabla que contiene los datos que desea dividir en hojas individuales. A continuación, haga clic en la pestaña KUTOOLS PLUS y seleccione Dividir Datos. Consulte la captura de pantalla siguiente para mayor claridad:

2. En el cuadro de diálogo Dividir Datos en Múltiples Hojas de Cálculo, seleccione la configuración adecuada según sus necesidades de división.
A. Para crear hojas nuevas basadas en los valores de una columna:

B. Para crear directamente una hoja nueva por cada fila:

Tras la ejecución, se generará un nuevo libro de trabajo que contendrá todas las hojas de cálculo nuevas, cada una rellenada según la configuración que haya seleccionado.
Crear hojas nuevas para cada fila según los valores de una columna:

Crear una hoja nueva para cada fila sin considerar los valores de la columna:

Precauciones y consejos prácticos:
- Antes de usar la utilidad Dividir Datos, asegúrese de que su tabla no contenga filas en blanco, ya que podrían generarse hojas vacías.
- Revise las convenciones de nomenclatura de hojas para evitar nombres de hoja duplicados o no válidos; Kutools los ajustará automáticamente si detecta un conflicto de nombres.
- El proceso puede generar un gran número de hojas si su tabla es muy extensa, así que téngalo en cuenta antes de continuar.
Ventajas: Fácil de usar y sin necesidad de programar; ideal para procesamiento por lotes y tareas frecuentes.
Inconvenientes: Requiere tener instalado el complemento Kutools.
Adecuado para: Usuarios de todos los niveles en Excel, especialmente aquellos que gestionan segmentaciones de datos repetitivas.
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
Demostración: crear hojas nuevas para cada fila con la utilidad Dividir Datos de Kutools para Excel
Las mejores herramientas de productividad para Office
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.
- 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