I denne artikkelen vil vi lage en makro for å dele data etter et bestemt antall rader.
Vi har rådata i arket “RawData”. Vi ønsker å dele disse dataene i flere ark.
Før vi kjører makroen, må vi spesifisere antall rader som kreves i hvert ark.
Kode forklaring
CntRows = Cint (Sheets ("Main"). TextBox1.Value)
Koden ovenfor brukes til å få opptelling av antall ark som kreves i et ark.
LastRow = .Range ("A" & .Rows.Count) .End (xlUp) .Row
Koden ovenfor brukes til å få radnummeret til den siste cellen.
Legg til etter: = Ark (Sheets.Count)
Koden ovenfor brukes til å legge til et nytt ark etter det siste arket.
.Range ("A" og n) .Resize (CntRows, LastColumn) .Copy Range ("A1")
Koden ovenfor brukes til å kopiere angitt antall rader til et nytt regneark.
Følg koden nedenfor
Option Explicit Sub SplitDataToMultipleSheets () 'Declaring variables Dim LastRow As Long, n As Long, CntRows As Long Dim LastColumn As Integer' Få telling av antall rader som kreves i ett ark CntRows = CInt (Sheets ("Main"). TextBox1.Value ) 'Deaktivering av skjermoppdateringer Application.ScreenUpdating = False With Sheets ("RawData")' Henter radnummer og kolonnummer for siste celle 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' Legge til nytt regneark Sheets.Add after: = Sheets (Sheets.Count) 'Kopiering av data til nye regneark .Range ("A" og n) .Resize (CntRows, LastColumn) .Copy Range ("A1") Neste n .Activate End With 'Aktivering av skjermoppdateringer Application.ScreenUpdating = True End Sub
Hvis du likte denne bloggen, del den med vennene dine på Facebook. Du kan også følge oss på Twitter og Facebook.
Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post