Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

¿Cómo crear nuevas hojas para cada fila en Excel?

Author Siluvia Last modified

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:

A screenshot showing a new workbook with sheets created from each row based on column value

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.

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 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:

A screenshot of the 'Split Data' option under the Kutools Plus tab in Excel

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:

1). Selecciona la opción Especificar columna, y luego especifica la columna que deseas usar como base para dividir —generalmente un identificador único como el nombre o ID del estudiante.
2). Si quieres que cada hoja se nombre según su valor en esa columna, elige Valores de Columna en el menú desplegable Reglas.
3). Haz clic en Aceptar para ejecutar la división. Consulta la captura de pantalla a continuación:

A screenshot of the 'Split Data into Multiple Worksheets' dialog box with settings for splitting by column value

B. Para crear directamente nuevas hojas para cada fila:

1). Selecciona la opción Filas fijas, e introduce 1 en el cuadro para indicar que cada hoja de trabajo debe contener solo una fila de datos.
2). Para el menú desplegable Reglas, selecciona Números de fila para etiquetar cada hoja por su índice de fila.
3). Haz clic en Aceptar para comenzar el proceso de división. Consulta la captura de pantalla a continuación:

A screenshot of the 'Split Data into Multiple Worksheets' dialog box with settings for splitting by row

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:

A screenshot showing a new workbook with sheets created from each row based on column value

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

A screenshot showing a new workbook with sheets created from each row without considering the column value

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

 
Kutools para Excel: ¡Más de 300 herramientas prácticas a su alcance! ¡Disfrute de funciones de IA permanentemente gratis! ¡Descárguelo ahora!

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 identificar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda por varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Cree 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...)...
Los15 principales 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 de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) ... y más
Utiliza Kutools en tu idioma preferido: admite inglés, español, alemán, francés, chino y más de40 idiomas adicionales.

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.

Excel Word Outlook Tabs PowerPoint
  • 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