Rozdělte data v listu podle konkrétního počtu řádků pomocí VBA v aplikaci Microsoft Excel

Obsah

V tomto článku vytvoříme makro pro rozdělení dat podle konkrétního počtu řádků.

V listu „RawData“ máme nezpracovaná data. Chceme tato data rozdělit do více listů.

Před spuštěním makra musíme určit počet řádků požadovaných v každém listu.

Vysvětlení kódu

CntRows = Cint (Listy („Hlavní“). TextBox1.Value)

Výše uvedený kód se používá k získání počtu požadovaných listů v listu.

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

Výše uvedený kód se používá k získání čísla řádku poslední buňky.

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

Výše uvedený kód se používá k přidání nového listu za poslední list.

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

Výše uvedený kód se používá ke zkopírování zadaného počtu řádků do nového listu.

Pro kód prosím postupujte níže

 Volba Explicitní Sub SplitDataToMultipleSheets () 'Deklarace proměnných Dim LastRow As Long, n As Long, CntRows As Long Dim LastColumn As Integer' Získávání počtu požadovaných řádků na jednom listu CntRows = CInt (Listy („Main“). TextBox1.Value ) 'Zakázání aktualizací obrazovky Application.ScreenUpdating = False With Sheets ("RawData")' Získání čísla řádku a čísla sloupce poslední buňky LastRow = .Range ("A" & .Rows.Count) .End (xlUp) .Row LastColumn = .Range ("A1"). SpecialCells (xlCellTypeLastCell). Sloupec 'Procházení dat v listu Pro n = 1 do LastRow Krok CntRows' Přidání nového listu Listy. Přidat po: = Listy (Sheets.Count) 'Kopírování dat do nového list .Range ("A" & n) .Resize (CntRows, LastColumn) .Copy Range ("A1") Next n .Activate End With 'Enabling screen updates Application.ScreenUpdating = True End Sub 

Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.

Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave