Gegevens in een blad splitsen op specifiek aantal rijen met VBA in Microsoft Excel

Anonim

In dit artikel zullen we een macro maken om gegevens te splitsen op een specifiek aantal rijen.

We hebben onbewerkte gegevens in het blad "RawData". We willen deze gegevens opsplitsen in meerdere bladen.

Voordat we de macro uitvoeren, moeten we het aantal vereiste rijen in elk blad specificeren.

Code uitleg

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

De bovenstaande code wordt gebruikt om het aantal benodigde vellen in een vel te krijgen.

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

De bovenstaande code wordt gebruikt om het rijnummer van de laatste cel te krijgen.

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

De bovenstaande code wordt gebruikt om een ​​nieuw blad toe te voegen na het laatste blad.

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

De bovenstaande code wordt gebruikt om het opgegeven aantal rijen naar een nieuw werkblad te kopiëren.

Volg hieronder voor de code:

 Optie Explicit Sub SplitDataToMultipleSheets() 'Variabelen Dim LastRow As Long, n As Long, CntRows As Long Dim LastColumn As Integer declareren 'Het aantal vereiste rijen in één blad krijgen CntRows = CInt(Sheets("Main").TextBox1.Value ) 'Schermupdates uitschakelen Application.ScreenUpdating = False With Sheets("RawData") 'Rijnummer en kolomnummer van laatste cel ophalen LastRow = .Range("A" & .Rows.Count).End(xlUp).Row LastColumn = .Range("A1").SpecialCells(xlCellTypeLastCell).Column 'Gegevens in het blad doorlopen For n = 1 To LastRow Step CntRows' Nieuw werkblad toevoegen Sheets.Add after:=Sheets(Sheets.Count) 'Gegevens kopiëren naar nieuwe werkblad .Range("A" & n).Resize(CntRows, LastColumn).Copy Range("A1") Volgende n .Activate End With 'Schermupdates inschakelen Application.ScreenUpdating = True End Sub 

Als je deze blog leuk vond, deel hem dan met je vrienden op Facebook. Ook kunt u ons volgen op Twitter en Facebook.

We horen graag van u, laat ons weten hoe we ons werk kunnen verbeteren en voor u kunnen verbeteren. Schrijf ons op de e-mailsite