Opdel data i et ark efter et bestemt antal rækker ved hjælp af VBA i Microsoft Excel

Anonim

I denne artikel vil vi oprette en makro til at opdele data efter et bestemt antal rækker.

Vi har rådata i arket “RawData”. Vi ønsker at opdele disse data i flere ark.

Inden vi kører makroen, skal vi angive det antal rækker, der kræves i hvert ark.

Kode forklaring

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

Ovenstående kode bruges til at få antallet af nødvendige ark i et ark.

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

Ovenstående kode bruges til at hente rækkenummeret for den sidste celle.

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

Ovenstående kode bruges til at tilføje et nyt ark efter det sidste ark.

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

Ovenstående kode bruges til at kopiere det angivne antal rækker til et nyt regneark.

Følg venligst nedenstående for koden

 Option Eksplicit sub SplitDataToMultipleSheets () 'Deklarationsvariabler Dim LastRow As Long, n As Long, CntRows As Long Dim LastColumn As Integer' Få optælling af antallet af rækker, der kræves i et ark CntRows = CInt (Sheets ("Main"). TextBox1.Value ) 'Deaktivering af skærmopdateringer Application.ScreenUpdating = False With Sheets ("RawData")' Henter rækkenummer og kolonnenummer for sidste celle LastRow = .Range ("A" & .Rows.Count) .End (xlUp) .Row LastColumn = .Range ("A1"). SpecialCells (xlCellTypeLastCell) .Column 'Looping data in the sheet For n = 1 To LastRow Step CntRows' Tilføjelse af nyt regneark Sheets.Add after: = Sheets (Sheets.Count) 'Kopiering af data til nye regneark .Range ("A" & n) .Resize (CntRows, LastColumn) .Copy Range ("A1") Næste n .Activate End With 'Aktivering af skærmopdateringer Application.ScreenUpdating = True End Sub 

Hvis du kunne lide denne blog, kan du dele den med dine venner på Facebook. Du kan også følge os på Twitter og Facebook.

Vi vil meget gerne høre fra dig, lad os vide, hvordan vi kan forbedre vores arbejde og gøre det bedre for dig. Skriv til os på e -mail -stedet