Jagage lehel olevad andmed teatud ridade arvu järgi, kasutades Microsoft Excelis VBA -d

Anonim

Selles artiklis loome makro, et jagada andmed kindla arvu ridade järgi.

Meil on lähteandmed lehel “RawData”. Tahame jagada need andmed mitmeks leheks.

Enne makro käivitamist peame määrama igal lehel vajalike ridade arvu.

Koodi selgitus

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

Ülaltoodud koodi kasutatakse lehel vajalike lehtede arvu arvutamiseks.

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

Ülaltoodud koodi kasutatakse viimase lahtri rea numbri saamiseks.

Arvutustabelid. Lisage pärast: = Lehed (Sheets.Count)

Ülaltoodud koodi kasutatakse uue lehe lisamiseks pärast viimast lehte.

.Range ("A" & n). Suuruse muutmine (CntRows, LastColumn). Kopeerimisvahemik ("A1")

Ülaltoodud koodi kasutatakse määratud arvu ridade kopeerimiseks uuele töölehele.

Palun järgige koodi allpool

 Valik Explicit Sub SplitDataToMultipleSheets () 'Muutujate deklareerimine Dim LastRow Long, n Long, CntRows As Long Dim LastColumn As Integer' Ühel lehel vajalike ridade arvu loendamine CntRows = CInt (Sheets ("Main"). TextBox1.Value ) 'Ekraanivärskenduste keelamine Application.ScreenUpdating = Vale lehtedega ("RawData")' Viimase lahtri rea ja veeru numbri hankimine LastRow = .Range ("A" & .Rows.Count) .End (xlUp) .Row LastColumn = .Range ("A1"). SpecialCells (xlCellTypeLastCell). Veerg 'Lehe andmete sirvimine N = 1 jaoks LastRow Step CntRows' Uue töölehe lehtede lisamine. Lisage pärast: = Sheets (Sheets.Count) 'Andmete kopeerimine uude tööleht .Range ("A" & n) .Muudata suurust (CntRows, LastColumn) .Koopiavahemik ("A1") Järgmine n .Aktiveeri lõpp "Ekraanivärskenduste lubamine Application.ScreenUpdating = True End Sub 

Kui teile see blogi meeldis, jagage seda oma sõpradega Facebookis. Lisaks saate meid jälgida Twitteris ja Facebookis.

Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd paremaks muuta ja teie jaoks paremaks muuta. Kirjuta meile meilisaidile