Sadaliet datus lapā ar noteiktu rindu skaitu, izmantojot Microsoft Excel VBA

Anonim

Š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ē