Σε αυτό το άρθρο, θα δημιουργήσουμε μια μακροεντολή για τη διαίρεση δεδομένων με συγκεκριμένο αριθμό σειρών.
Έχουμε ακατέργαστα δεδομένα στο φύλλο "RawData". Θέλουμε να χωρίσουμε αυτά τα δεδομένα σε πολλά φύλλα.
Πριν από την εκτέλεση της μακροεντολής, πρέπει να καθορίσουμε τον αριθμό των γραμμών που απαιτούνται σε κάθε φύλλο.
Επεξήγηση κώδικα
CntRows = Cint (Φύλλα ("Κύρια"). TextBox1.Value)
Ο παραπάνω κωδικός χρησιμοποιείται για τον υπολογισμό του αριθμού των φύλλων που απαιτούνται σε ένα φύλλο.
LastRow =. Range ("A" & .Rows.Count). End (xlUp). Row
Ο παραπάνω κώδικας χρησιμοποιείται για να πάρει τον αριθμό σειράς του τελευταίου κελιού.
Φύλλα. Προσθήκη μετά: = Φύλλα (Φύλλα. Αριθμός)
Ο παραπάνω κώδικας χρησιμοποιείται για την προσθήκη νέου φύλλου μετά το τελευταίο φύλλο.
. Εύρος ("A" & n). Αλλαγή μεγέθους (CntRows, LastColumn). Εύρος αντιγραφής ("A1")
Ο παραπάνω κώδικας χρησιμοποιείται για την αντιγραφή καθορισμένου αριθμού σειρών σε νέο φύλλο εργασίας.
Ακολουθήστε παρακάτω για τον κωδικό
Option Explicit Sub SplitDataToMultipleSheets () 'Δήλωση μεταβλητών Dim LastRow As Long, n As Long, CntRows As Long Dim LastColumn As Integer' Λήψη του αριθμού των γραμμών που απαιτούνται σε ένα φύλλο CntRows = CInt (Φύλλα ("Κύρια"). TextBox1.Value ) 'Απενεργοποίηση ενημερώσεων οθόνης Application.ScreenUpdating = False With Sheets ("RawData")' Λήψη αριθμού σειράς και αριθμού στήλης του τελευταίου κελιού LastRow = .Range ("A" & .Rows.Count) .End (xlUp) .Row LastColumn = .Range ("A1"). SpecialCells (xlCellTypeLastCell). Στήλη "Looping through data in the sheet For n = 1 To LastRow Step CntRows" Προσθήκη νέων φύλλων εργασίας. Προσθήκη μετά: = Sheets (Sheets.Count) "Αντιγραφή δεδομένων σε νέα φύλλο εργασίας .Range ("A" & n). Αλλαγή μεγέθους (CntRows, LastColumn). Εύρος αντιγραφής ("A1") Επόμενο n .Ενεργοποίηση λήξης με "Ενεργοποίηση ενημερώσεων οθόνης Application.ScreenUpdating = True End Sub
Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.
Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email