En este artículo, crearemos una macro para dividir los datos por un número específico de filas.

Tenemos datos brutos en la hoja “RawData”. Queremos dividir estos datos en varias hojas.

ArrowRawData

ArrowMain

Antes de ejecutar la macro, debemos especificar el número de filas necesarias en cada hoja.

ArrowOutput

Explicación del código

CntRows = Cint (Hojas («Principal»). TextBox1.Value)

El código anterior se utiliza para obtener el recuento de la cantidad de hojas necesarias en una hoja.

LastRow = .Range («A» & .Rows.Count) .End (xlUp) .Row El código anterior se usa para obtener el número de fila de la última celda.

Sheets.Add after: = Sheets (Sheets.Count)

El código anterior se utiliza para agregar una nueva hoja después de la última hoja.

Range («A» & n) .Resize (CntRows, LastColumn) .Copy Range («A1»)

El código anterior se usa para copiar el número especificado de filas a una nueva hoja de trabajo.

Siga el código a continuación

Option Explicit

Sub SplitDataToMultipleSheets()

'Declaring variables

Dim LastRow As Long, n As Long, CntRows As Long

Dim LastColumn As Integer

'Getting count of number of rows required in one sheet

CntRows = CInt(Sheets("Main").TextBox1.Value)

'Disabling screen updates

Application.ScreenUpdating = False

With Sheets("RawData")



'Getting row number and column number of last cell

LastRow = .Range("A" & .Rows.Count).End(xlUp).Row

LastColumn = .Range("A1").SpecialCells(xlCellTypeLastCell).Column



'Looping through data in the sheet

For n = 1 To LastRow Step CntRows



'Adding new worksheet

Sheets.Add after:=Sheets(Sheets.Count)

'Copying data to new worksheet

.Range("A" & n).Resize(CntRows, LastColumn).Copy Range("A1")

Next n



.Activate

End With

'Enabling screen updates

Application.ScreenUpdating = True

End Sub

Si te gustó este blog, compártelo con tus amigos en Facebook y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]