Divida los datos en una hoja por un número específico de filas usando VBA en Microsoft Excel

Anonim

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

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

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

Explicación del código

CntRows = Cint (Hojas ("Principal"). Cuadro de texto1.Valor)

El código anterior se usa para obtener el recuento de la cantidad de hojas requeridas 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 usa 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 a continuación para obtener el código

 Option Explicit Sub SplitDataToMultipleSheets () 'Declarando variables Dim LastRow As Long, n As Long, CntRows As Long Dim LastColumn As Integer' Obteniendo el recuento del número de filas requeridas en una hoja CntRows = CInt (Sheets ("Main"). TextBox1.Value ) 'Deshabilitando las actualizaciones de pantalla Application.ScreenUpdating = False With Sheets ("RawData")' Obteniendo el número de fila y el número de columna de la última celda LastRow = .Range ("A" & .Rows.Count) .End (xlUp) .Row LastColumn = .Range ("A1"). SpecialCells (xlCellTypeLastCell) .Column 'Recorrer datos en la hoja para n = 1 To LastRow Step CntRows' Agregar nueva hoja de cálculo Sheets.Add after: = Sheets (Sheets.Count) 'Copying data to new hoja de trabajo .Range ("A" & n) .Resize (CntRows, LastColumn) .Copy Range ("A1") Siguiente n .Activate End With 'Habilitando actualizaciones de pantalla Application.ScreenUpdating = True End Sub 

Si te gustó este blog, compártelo con tus amigos en Facebook. Además, puede seguirnos en Twitter y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos al sitio de correo electrónico