În acest articol, vom crea o macrocomandă pentru a împărți datele după un anumit număr de rânduri.
Avem date brute în foaia „RawData”. Vrem să împărțim aceste date în mai multe foi.
Înainte de a rula macro-ul, trebuie să specificăm numărul de rânduri necesare în fiecare foaie.
Explicarea codului
CntRows = Cint (Foi de calcul („Principal”). TextBox1.Value)
Codul de mai sus este utilizat pentru a obține numărul de coli necesare într-o coală.
LastRow = .Range ("A" & .Rows.Count) .End (xlUp) .Row
Codul de mai sus este utilizat pentru a obține numărul rândului ultimei celule.
Sheets.Add after: = Sheets (Sheets.Count)
Codul de mai sus este folosit pentru a adăuga o nouă foaie după ultima foaie.
.Range ("A" & n) .Resize (CntRows, LastColumn) .Copy Range ("A1")
Codul de mai sus este utilizat pentru a copia numărul specificat de rânduri într-o foaie de lucru nouă.
Vă rugăm să urmați codul de mai jos
Opțiune Explicit Sub SplitDataToMultipleSheets () 'Declararea variabilelor Dim LastRow Ca lung, n At Long, CntRows As Long Dim LastColumn As Integer' Obținerea numărului de rânduri necesare într-o singură foaie CntRows = CInt (Sheets ("Main"). TextBox1.Value ) 'Dezactivarea actualizărilor de ecran Application.ScreenUpdating = False With Sheets ("RawData")' Obținerea numărului rândului și a numărului coloanei ultimei celule LastRow = .Range ("A" & .Rows.Count) .End (xlUp) .Row LastColumn = .Range ("A1"). SpecialCells (xlCellTypeLastCell) .Coloana 'Buclare prin date în foaie Pentru n = 1 la LastRow Pas CntRows' Adăugarea de foi de lucru noi Foi. foaie de lucru .Range ("A" & n) .Resize (CntRows, LastColumn) .Copy Range ("A1") Next n. Activați sfârșitul cu 'Activarea actualizărilor de ecran Application.ScreenUpdating = True End Sub
Dacă ți-a plăcut acest blog, distribuie-l prietenilor tăi de pe Facebook. De asemenea, ne puteți urmări pe Twitter și Facebook.
Ne-ar plăcea să aflăm de la dvs., să ne anunțați cum putem îmbunătăți munca noastră și o putem îmbunătăți. Scrieți-ne pe site-ul de e-mail