Μετάβαση στο κύριο περιεχόμενο

Πώς να δημιουργήσετε νέα φύλλα για κάθε σειρά στο Excel;

Ας υποθέσουμε ότι έχετε έναν πίνακα βαθμολογίας με το όνομα όλων των μαθητών στη στήλη Α. Τώρα θέλετε να δημιουργήσετε νέα φύλλα με βάση αυτά τα ονόματα στη στήλη Α και να κάνετε ανά φύλλο να περιέχει τα μοναδικά δεδομένα ενός μαθητή. Ή απλώς δημιουργήστε νέο φύλλο μόνο για κάθε σειρά στον πίνακα χωρίς να λάβετε υπόψη τα ονόματα στη στήλη A. Σε αυτό το vedio, θα βρείτε μεθόδους για να το επιτύχετε.

Δημιουργήστε νέα φύλλα για κάθε σειρά με κωδικό VBA
Δημιουργήστε νέα φύλλα για κάθε σειρά με το βοηθητικό πρόγραμμα Split Data του Kutools για Excel


Δημιουργήστε νέα φύλλα για κάθε σειρά με κωδικό VBA

Με τους ακόλουθους κωδικούς, μπορείτε να δημιουργήσετε νέο φύλλο με βάση τις τιμές στηλών ή απλά να δημιουργήσετε νέα φύλλα για κάθε σειρά στο Excel.

1. Τύπος άλλος + F11 ταυτόχρονα για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.

2. Στο Microsoft Visual Basic για εφαρμογές παράθυρο, κάντε κλικ στην επιλογή Κύριο θέμα > Μονάδα μέτρησης. Και μετά επικολλήστε τον ακόλουθο κώδικα στο Μονάδα μέτρησης παράθυρο.

Κωδικός VBA: δημιουργήστε νέο φύλλο για κάθε σειρά με βάση τη στήλη

Sub parse_data()
'Update by Extendoffice 2018/3/2
    Dim xRCount As Long
    Dim xSht As Worksheet
    Dim xNSht As Worksheet
    Dim I As Long
    Dim xTRrow As Integer
    Dim xCol As New Collection
    Dim xTitle As String
    Dim xSUpdate As Boolean
    Set xSht = ActiveSheet
    On Error Resume Next
    xRCount = xSht.Cells(xSht.Rows.Count, 1).End(xlUp).Row
    xTitle = "A1:C1"
    xTRrow = xSht.Range(xTitle).Cells(1).Row
    For I = 2 To xRCount
        Call xCol.Add(xSht.Cells(I, 1).Text, xSht.Cells(I, 1).Text)
    Next
    xSUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    For I = 1 To xCol.Count
        Call xSht.Range(xTitle).AutoFilter(1, CStr(xCol.Item(I)))
        Set xNSht = Nothing
        Set xNSht = Worksheets(CStr(xCol.Item(I)))
        If xNSht Is Nothing Then
            Set xNSht = Worksheets.Add(, Sheets(Sheets.Count))
            xNSht.Name = CStr(xCol.Item(I))
        Else
            xNSht.Move , Sheets(Sheets.Count)
        End If
        xSht.Range("A" & xTRrow & ":A" & xRCount).EntireRow.Copy xNSht.Range("A1")
        xNSht.Columns.AutoFit
    Next
    xSht.AutoFilterMode = False
    xSht.Activate
    Application.ScreenUpdating = xSUpdate
End Sub

Note: A1: Το C1 είναι το εύρος τίτλου του πίνακα σας. Μπορείτε να το αλλάξετε ανάλογα με τις ανάγκες σας.

3. Τύπος F5 κλειδί για την εκτέλεση του κώδικα και, στη συνέχεια, δημιουργούνται νέα φύλλα εργασίας μετά από όλα τα φύλλα εργασίας του τρέχοντος βιβλίου εργασίας όπως παρακάτω το στιγμιότυπο οθόνης:

Εάν θέλετε να δημιουργήσετε άμεσα νέα φύλλα για κάθε σειρά χωρίς να λάβετε υπόψη την τιμή της στήλης, μπορείτε να χρησιμοποιήσετε τον ακόλουθο κώδικα.

Κωδικός VBA: Δημιουργήστε άμεσα νέο φύλλο για κάθε σειρά

Sub RowToSheet()
	Dim xRow As Long
	Dim I As Long
	With ActiveSheet
		xRow = .Range("A" & Rows.Count).End(xlUp).Row
		For I = 1 To xRow
			Worksheets.Add(, Sheets(Sheets.Count)).Name = "Row " & I
			.Rows(I).Copy Sheets("Row " & I).Range("A1")
		Next I
	End With
End Sub

Μετά την εκτέλεση του κώδικα, κάθε σειρά στο ενεργό φύλλο εργασίας θα τοποθετηθεί σε ένα νέο φύλλο εργασίας.

Note: Η γραμμή επικεφαλίδας θα τοποθετηθεί επίσης σε ένα νέο φύλλο με αυτόν τον κωδικό VBA.


Δημιουργήστε νέα φύλλα για κάθε σειρά με το βοηθητικό πρόγραμμα Split Data του Kutools για Excel

Στην πραγματικότητα, η παραπάνω μέθοδος είναι περίπλοκη και δυσνόητη. Σε αυτήν την ενότητα, σας παρουσιάζουμε το Διαχωρίστε τα δεδομένα χρησιμότητα του Kutools για Excel.

Πριν από την εφαρμογή Kutools για Excel, σας παρακαλούμε κατεβάστε και εγκαταστήστε το πρώτα.

1. Επιλέξτε τον πίνακα που πρέπει να χρησιμοποιήσετε για να δημιουργήσετε νέα φύλλα και, στη συνέχεια, κάντε κλικ στο Kutools Plus> Δεδομένα Spit. Δείτε το στιγμιότυπο οθόνης:

2. Στο Διαχωρισμός δεδομένων σε πολλά φύλλα εργασίας πλαίσιο διαλόγου, κάντε τα εξής.

A. Για τη δημιουργία νέων φύλλων με βάση την τιμή της στήλης:

1). Επιλέξτε το Ειδική στήλη επιλογή και καθορίστε μια στήλη στην οποία θέλετε να διαχωρίσετε δεδομένα με βάση την αναπτυσσόμενη λίστα.
2). Εάν θέλετε να ονομάσετε τα φύλλα εργασίας με τιμές στηλών, επιλέξτε Τιμές στήλης στο Κανόνες που αναπτυσσόμενη λίστα;
3). Κάντε κλικ στο OK κουμπί. Δείτε το στιγμιότυπο οθόνης:

B. Για τη δημιουργία απευθείας νέων φύλλων για κάθε σειρά:

1). Επιλέγω Διορθώθηκαν οι σειρές επιλογή, εισαγάγετε τον αριθμό 1 στο κουτί?
2). Επιλέγω Αριθμοί σειράς από το Κανόνες που αναπτυσσόμενη λίστα;
3). Κάντε κλικ στο OK κουμπί. Δείτε το στιγμιότυπο οθόνης:

δημιουργείται ένα νέο βιβλίο εργασίας με όλα τα νέα φύλλα μέσα. Δείτε στιγμιότυπα οθόνης παρακάτω.

Δημιουργία νέων φύλλων για κάθε σειρά με βάση την τιμή της στήλης:

Δημιουργία νέου φύλλου για κάθε σειρά χωρίς να λαμβάνεται υπόψη η τιμή της στήλης:

  Εάν θέλετε να έχετε μια δωρεάν δοκιμή (30-ημερών) αυτού του βοηθητικού προγράμματος, κάντε κλικ για να το κατεβάσετεκαι μετά πηγαίνετε για να εφαρμόσετε τη λειτουργία σύμφωνα με τα παραπάνω βήματα.

Δημιουργήστε νέα φύλλα για κάθε σειρά με το βοηθητικό πρόγραμμα Split Data του Kutools για Excel

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

🤖 Kutools AI Aide: Επανάσταση στην ανάλυση δεδομένων με βάση: Ευφυής Εκτέλεση   |  Δημιουργία κώδικα  |  Δημιουργία προσαρμοσμένων τύπων  |  Αναλύστε δεδομένα και δημιουργήστε γραφήματα  |  Επίκληση Λειτουργιών Kutools...
Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

Περιγραφή


Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
Comments (33)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
HI, Thanks for this wonder-full code, Can we get dynamic sheet, means if i update data in respective sheet it will get updated in main sheet.
This comment was minimized by the moderator on the site
Hi vikas chandra,
I can't fix this problem. Sorry about that.
This comment was minimized by the moderator on the site
Hi, I have a problem about title, the title range of my table is A1:AI2, when I changed the code like that it doesn't work.

***Note: A1:C1 is the title range of your table. You can change it based on your needs.***
This comment was minimized by the moderator on the site
Hello, thanks so much for this. I'm looking to modify the macro such that it will create a sheet for each row of a column and within each sheet have a function (average) that I can populate data into and in turn have the outcome linked back into the original sheet. Is this possible? I can try to clarify further if this doesn't make sense or is ambiguous.
This comment was minimized by the moderator on the site
Hi, is there a code which would add only 1 new sheet each time the macro is run, eg 1st time the new sheet would be named on the contents of cell A1, 2nd time the macro was run the new sheet would be named on the contents of A2 etc. thanks in anticipation
This comment was minimized by the moderator on the site
Hello, used this code and worked, but If I want select the more then one rows in header, what will be change in the code ? I have multiple lines in the sheet which I want in every sheet.
This comment was minimized by the moderator on the site
Hello, did you figured out how?
This comment was minimized by the moderator on the site
Hello! I just used this code and it worked! In addition to creating a new sheet for each entry, I want to transpose it to columns and can't figure it out. So for the above example, the output for Nana would look like this - Name NanaScore 86No. 2
This comment was minimized by the moderator on the site
<p> Nana
86
2</p>
This comment was minimized by the moderator on the site
How to reference the use of the code above (credit) ? Is it possible to modify the code ?
This comment was minimized by the moderator on the site
Hi, this is an open communication platform. The code is allowed to reference and modify.
This comment was minimized by the moderator on the site
Nevermind it was hidden trailing spaces. I used the TRIM feature and cleaned it up. Having a row count (line count really so rows -1 prepended to the sheet would be amazing)
This comment was minimized by the moderator on the site
Please can i get help on how to automatically name the sheets using a particular column. This is for the row to sheet VBA. See below

Sub RowToSheet()

Dim xRow As Long

Dim I As Long

With ActiveSheet

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

For I = 1 To xRow

Worksheets.Add(, Sheets(Sheets.Count)).Name = "Row " & I

.Rows(I).Copy Sheets("Row " & I).Range("A1")

Next I

End With

End Sub
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations