Šajā rakstā mēs izveidosim makro, lai sadalītu datus pēc noteikta rindu skaita.
Mums ir neapstrādāti dati lapā “RawData”. Mēs vēlamies sadalīt šos datus vairākās lapās.
Pirms makro palaišanas mums jānorāda katrā rindā nepieciešamais rindu skaits.
Koda skaidrojums
CntRows = Cint (Sheets ("Main"). TextBox1.Value)
Iepriekš minēto kodu izmanto, lai iegūtu lapā nepieciešamo lapu skaitu.
LastRow = .Range ("A" & .Rows.Count) .End (xlUp) .Row
Iepriekš minēto kodu izmanto, lai iegūtu pēdējās šūnas rindas numuru.
Sheets. Pievienot pēc: = Sheets (Sheets.Count)
Iepriekš minēto kodu izmanto, lai pēc pēdējās lapas pievienotu jaunu lapu.
. Diapazons ("A" & n). Mainīt izmēru (CntRows, LastColumn). Kopēšanas diapazons ("A1")
Iepriekš minēto kodu izmanto, lai kopētu noteiktu rindu skaitu uz jaunu darblapu.
Lūdzu, sekojiet tālāk norādītajam kodam
Opcija Explicit Sub SplitDataToMultipleSheets () 'Deklarējošie mainīgie Dim LastRow cik ilgi, n tik ilgi, CntRows tik ilgi Dim LastColumn kā vesels skaitlis' Vienā lapā nepieciešamā rindu skaita aprēķināšana CntRows = CInt (Sheets ("Main"). TextBox1.Value ) 'Ekrāna atjauninājumu atspējošana Application.ScreenUpdating = False With Sheets ("RawData")' Rindas numura un kolonnas numura iegūšana pēdējā šūnā LastRow = .Range ("A" & .Rows.Count) .End (xlUp) .Row LastColumn = .Range ("A1"). SpecialCells (xlCellTypeLastCell). Kolonna 'Looping through data in sheet For n = 1 To LastRow Step CntRows' Jaunu darblapu lapu pievienošana. Pievienot pēc: = Sheets (Sheets.Count) 'Datu kopēšana uz jauniem darblapa .Range ("A" & n) .Resize (CntRows, LastColumn). Kopēšanas diapazons ("A1") Nākamais n .Activate End with 'Iespējo ekrāna atjauninājumus Application.ScreenUpdating = True End Sub
Ja jums patika šis emuārs, kopīgojiet to ar saviem draugiem Facebook. Varat arī sekot mums Twitter un Facebook.
Mēs labprāt uzklausītu jūsu viedokli, dariet mums zināmu, kā mēs varam uzlabot savu darbu un padarīt to labāku jums. Rakstiet mums e -pasta vietnē