Padalinkite duomenis į lapą pagal tam tikrą eilučių skaičių naudodami „Microsoft Excel“ VBA

Anonim

Šiame straipsnyje sukursime makrokomandą, kad duomenys būtų suskirstyti pagal tam tikrą eilučių skaičių.

Mes turime neapdorotus duomenis lape „RawData“. Šiuos duomenis norime padalyti į kelis lapus.

Prieš paleisdami makrokomandą, turime nurodyti kiekviename lape būtiną eilučių skaičių.

Kodo paaiškinimas

CntRows = Cint (Skaičiuoklės („Pagrindinis“). TextBox1.Value)

Aukščiau pateiktas kodas naudojamas norint apskaičiuoti, kiek lapų reikia lape.

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

Aukščiau pateiktas kodas naudojamas paskutinio langelio eilutės numeriui gauti.

Skaičiuoklės. Pridėti po: = Lakštai (Sheets.Count)

Aukščiau pateiktas kodas naudojamas po paskutinio lapo pridėti naują lapą.

.Range ("A" & n). Pakeisti dydį (CntRows, LastColumn). Kopijuoti diapazonas ("A1")

Aukščiau pateiktas kodas naudojamas nukopijuoti nurodytą eilučių skaičių į naują darbalapį.

Sekite toliau pateiktą kodą

 Parinktis „Explicit Sub SplitDataToMultipleSheets ()“ Deklaruojantys kintamieji Dim LastRow as Long, n Kaip Long, CntRows As Long Dim LastColumn As Integer "Gaunamas viename lape būtinų eilučių skaičius CntRows = CInt (Sheets (" Main "). TextBox1.Value ) 'Ekrano atnaujinimų išjungimas Application.ScreenUpdating = False With Sheets ("RawData")' Gaunamas paskutinio langelio eilutės numeris ir stulpelio numeris LastRow = .Range ("A" & .Rows.Count) .End (xlUp) .Row LastColumn = .Range ("A1"). SpecialCells (xlCellTypeLastCell). Stulpelis "Looping data in the sheet For n = 1 To LastRow Step CntRows" Adding new sheet Sheets.Add after: = Sheets (Sheets.Count) 'Duomenų kopijavimas į naujus darbalapis .Range ("A" & n) .Resize (CntRows, LastColumn) .Kopijavimo diapazonas ("A1") Kitas n .Activate End with 'Enabling screen updates “. 

Jei jums patiko šis tinklaraštis, pasidalykite juo su draugais „Facebook“. Be to, mus galite sekti „Twitter“ ir „Facebook“.

Mes norėtume išgirsti jūsų nuomonę, praneškite mums, kaip galime pagerinti savo darbą ir padaryti jį geresnį. Rašykite mums el