Dela data i ett ark med specifikt antal rader med VBA i Microsoft Excel

Anonim

I den här artikeln kommer vi att skapa ett makro för att dela data med specifikt antal rader.

Vi har rådata i bladet "RawData". Vi vill dela upp dessa data i flera ark.

Innan vi kör makrot måste vi ange antalet rader som krävs i varje ark.

Kodförklaring

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

Ovanstående kod används för att få fram antalet ark som krävs i ett ark.

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

Ovanstående kod används för att få radnumret för den sista cellen.

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

Ovanstående kod används för att lägga till ett nytt blad efter det sista bladet.

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

Ovanstående kod används för att kopiera angivet antal rader till ett nytt kalkylblad.

Följ koden nedan

 Alternativ Explicit Sub SplitDataToMultipleSheets () 'Declaring variables Dim LastRow As Long, n As Long, CntRows As Long Dim LastColumn As Integer' Få räkningen av antalet rader som krävs i ett ark CntRows = CInt (Sheets ("Main"). TextBox1.Value ) 'Inaktivera skärmuppdateringar Application.ScreenUpdating = False With Sheets ("RawData")' Hämtar radnummer och kolumnnummer för sista cellen 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' Lägga till nya kalkylblad Sheets.Add after: = Sheets (Sheets.Count) 'Kopiera data till nya kalkylblad .Range ("A" & n) .Resize (CntRows, LastColumn) .Copy Range ("A1") Nästa n .Activate End With 'Aktivera skärmuppdateringar Application.ScreenUpdating = True End Sub 

Om du gillade den här bloggen, dela den med dina vänner på Facebook. Du kan också följa oss på Twitter och Facebook.

Vi vill gärna höra från dig, låt oss veta hur vi kan förbättra vårt arbete och göra det bättre för dig. Skriv till oss på e -postwebbplatsen