¿Cómo crear nuevas hojas para cada fila en Excel?
Supongamos que tiene una tabla de puntajes con el nombre de todos los estudiantes en la columna A. Ahora desea crear nuevas hojas basadas en estos nombres en la columna A, y crear por hoja contiene los datos de un estudiante único. O simplemente cree una nueva hoja para cada fila de la tabla sin considerar los nombres en la columna A. En este video, obtendrá métodos para lograrlo.
Cree nuevas hojas para cada fila con código VBA
Cree nuevas hojas para cada fila con la utilidad Datos divididos de Kutools para Excel
Cree nuevas hojas para cada fila con código VBA
Con los siguientes códigos, puede crear una nueva hoja basada en valores de columna, o simplemente crear nuevas hojas para cada fila en Excel.
1. Prensa otro + F11 teclas simultáneamente para abrir el Microsoft Visual Basic para aplicaciones ventana.
2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo. Y luego pegue el siguiente código en el Módulo ventana.
Código de VBA: cree una nueva hoja para cada fila según la 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
Note: A1: C1 es el rango de títulos de su tabla. Puede cambiarlo según sus necesidades.
3. Prensa F5 clave para ejecutar el código, luego se crean nuevas hojas de trabajo después de todas las hojas de trabajo del libro de trabajo actual como se muestra a continuación:
Si desea crear directamente nuevas hojas para cada fila sin tener en cuenta el valor de la columna, puede utilizar el siguiente código.
Código de VBA: cree directamente 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 el código, cada fila de la hoja de trabajo activa se colocará en una nueva hoja de trabajo.
Note: La fila de encabezado también se colocará en una nueva hoja con este código VBA.
Cree nuevas hojas para cada fila con la utilidad Datos divididos de Kutools para Excel
En realidad, el método anterior es complicado y difícil de entender. En esta sección, te presentamos las Dividir datos utilidad de Kutools for Excel.
Antes de aplicar Kutools for Excel, Por favor descargarlo e instalarlo en primer lugar.
1. Seleccione la tabla que necesita usar para crear nuevas hojas y luego haga clic en Kutools Más> Escupir datos. Ver captura de pantalla:
2. En el Dividir datos en varias hojas de trabajo cuadro de diálogo, haga lo siguiente.
A. Para crear nuevas hojas basadas en el valor de la columna:
B. Para crear directamente nuevas hojas para cada fila:
Se crea un nuevo libro con todas las hojas nuevas adentro. Vea las capturas de pantalla a continuación.
Crear nuevas hojas para cada fila según el valor de la columna:
Creando una nueva hoja para cada fila sin considerar el valor de la columna:
Si desea tener una prueba gratuita (30 días) de esta utilidad, haga clic para descargarloy luego vaya a aplicar la operación según los pasos anteriores.
Cree nuevas hojas para cada fila con la utilidad Datos divididos de Kutools para Excel
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite 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 de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!