Podatke na listu razdelite po določenem številu vrstic z uporabo VBA v programu Microsoft Excel

Anonim

V tem članku bomo ustvarili makro za razdelitev podatkov po določenem številu vrstic.

Na listu "RawData" imamo surove podatke. Te podatke želimo razdeliti na več listov.

Pred zagonom makra moramo določiti število zahtevanih vrstic na vsakem listu.

Razlaga kode

CntRows = Cint (Listi ("Glavni"). TextBox1.Vrednost)

Zgornja koda se uporablja za število potrebnih listov na listu.

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

Zgornja koda se uporablja za pridobitev številke vrstice zadnje celice.

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

Zgornja koda se uporablja za dodajanje novega lista po zadnjem listu.

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

Zgornja koda se uporablja za kopiranje določenega števila vrstic na nov delovni list.

Za kodo sledite spodaj

 Možnost Explicit Sub SplitDataToMultipleSheets () 'Razglasitev spremenljivk Dim LastRow As Long, n As Long, CntRows As Long Dim LastColumn As Integer' Pridobivanje števila zahtevanih vrstic na enem listu CntRows = CInt (Sheets ("Main"). TextBox1.Value ) 'Onemogočanje posodobitev zaslona Application.ScreenUpdating = False With Sheets ("RawData")' Pridobivanje številke vrstice in številke stolpca zadnje celice LastRow = .Range ("A" & .Rows.Count) .End (xlUp) .Row LastColumn = .Range ("A1"). SpecialCells (xlCellTypeLastCell). Stolpec "Ponavljanje podatkov na listu za n = 1 do koraka LastRow CntRows" Dodajanje novih listov delovnega lista.Dodaj po: = List (Sheets.Count) delovni list .Range ("A" & n) .Resize (CntRows, LastColumn) .Copy Range ("A1") Next n. Aktiviraj End With 'Omogočanje posodobitev zaslona Application.ScreenUpdating = True End Sub 

Če vam je bil ta blog všeč, ga delite s prijatelji na Facebooku. Prav tako nam lahko sledite na Twitterju in Facebooku.

Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo svoje delo in ga izboljšamo za vas. Pišite nam na spletnem mestu e -pošte