Note: The other languages of the website are Google-translated. Back to English

Πώς να δημιουργήσετε νέα φύλλα για κάθε σειρά στο 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


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

Το Kutools για Excel λύνει τα περισσότερα από τα προβλήματά σας και αυξάνει την παραγωγικότητά σας κατά 80%

  • Επαναχρησιμοποίηση: Εισαγάγετε γρήγορα σύνθετοι τύποι, γραφήματα και οτιδήποτε έχετε χρησιμοποιήσει στο παρελθόν. Κρυπτογράφηση κυττάρων με κωδικό πρόσβασης Δημιουργία λίστας αλληλογραφίας και στείλτε email ...
  • Super Formula Bar (επεξεργαστείτε εύκολα πολλές γραμμές κειμένου και τύπου). Διάταξη ανάγνωσης (εύκολη ανάγνωση και επεξεργασία μεγάλου αριθμού κελιών). Επικόλληση σε φιλτραρισμένο εύρος...
  • Συγχώνευση κελιών / σειρών / στηλών χωρίς απώλεια δεδομένων · Περιεχόμενο διαχωρισμού κελιών Συνδυάστε διπλές σειρές / στήλες... Αποτροπή διπλών κυττάρων; Συγκρίνετε τα εύρη...
  • Επιλέξτε Διπλότυπο ή Μοναδικό Σειρές; Επιλέξτε Κενές σειρές (όλα τα κελιά είναι κενά). Σούπερ εύρεση και ασαφής εύρεση σε πολλά βιβλία εργασίας. Τυχαία επιλογή ...
  • Ακριβές αντίγραφο Πολλαπλά κελιά χωρίς αλλαγή της αναφοράς τύπου. Αυτόματη δημιουργία αναφορών σε πολλαπλά φύλλα? Εισαγωγή κουκκίδων, Πλαίσια ελέγχου και άλλα ...
  • Εξαγωγή κειμένου, Προσθήκη κειμένου, Κατάργηση κατά θέση, Αφαιρέστε το διάστημα; Δημιουργία και εκτύπωση υποσύνολων σελιδοποίησης. Μετατροπή περιεχομένου και σχολίων μεταξύ κελιών...
  • Σούπερ φίλτρο (αποθηκεύστε και εφαρμόστε σχήματα φίλτρων σε άλλα φύλλα). Προηγμένη ταξινόμηση ανά μήνα / εβδομάδα / ημέρα, συχνότητα και άλλα. Ειδικό φίλτρο με έντονη, πλάγια ...
  • Συνδυάστε βιβλία εργασίας και φύλλα εργασίας; Συγχώνευση πινάκων βάσει βασικών στηλών. Διαχωρίστε τα δεδομένα σε πολλά φύλλα; Μαζική μετατροπή xls, xlsx και PDF...
  • Περισσότερα από 300 ισχυρά χαρακτηριστικά. Υποστηρίζει Office / Excel 2007-2021 και 365. Υποστηρίζει όλες τις γλώσσες. Εύκολη ανάπτυξη στην επιχείρηση ή τον οργανισμό σας. Πλήρεις δυνατότητες δωρεάν δοκιμής 30 ημερών. Εγγύηση επιστροφής χρημάτων 60 ημερών.
kte καρτέλα 201905

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

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
κάτω μέρος γραφείου
Σχόλια (33)
Δεν υπάρχουν ακόμη βαθμολογίες. Γίνε ο πρώτος που θα αξιολογήσετε!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας, θέλω να δημιουργήσω φύλλα εργασίας με βάση το πρότυπο αρχείο μου Myformat και να τα ονομάσω σύμφωνα με τα δεδομένα της πρώτης στήλης. Προσάρμοσα τον κώδικα VBA ως εξής, αλλά δημιουργεί πάρα πολλά κενά φύλλα. Θα μπορούσατε σας παρακαλώ να με βοηθήσετε να σταματήσω να δημιουργώ λευκά φύλλα. Σας ευχαριστώ. Kumar Sub AddSheets() Dim κελί ως Excel.Range Dim wsWithSheetNames As Excel.Worksheet Dim wbToAddSheetsTo As Excel.Workbook Set wsWithSheetNames =Σύνολο ActiveSheet wbToAddSheetsTo wbToAddSheetsTo =WbToAddSheetsTo = ActiveWithWithSheetsTo = ActiveWithSheets Προσθήκη After:=ActiveSheet Sheets.Add Type:= _ "C:\Users\Dimple\AppData\Roaming\Microsoft\Templates\MyFormat.xltx" Σε σφάλμα Συνέχιση Επόμενο ActiveSheet.Name = cell.Value If Err.Number = 2 Στη συνέχεια Εντοπισμός σφαλμάτων.Εκτύπωση κελιού.Τιμή & " χρησιμοποιείται ήδη ως όνομα φύλλου" Τέλος εάν είναι σε σφάλμα Μετάβαση στο 165 Τέλος με το επόμενο κελί Τέλος υπο
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας,
Λαμβάνω πάντα 2 φύλλα ανά μοναδική καταχώριση σε μια σειρά. Καμιά ιδέα γιατί; Επίσης, πόσο δύσκολο θα ήταν να προστεθεί ο συνολικός αριθμός σειρών που δημιουργεί το φύλλο που δημιουργείται στο όνομα του φύλλου. Ευχαριστώ πολύ! Ενημερώστε με αν λαμβάνετε δωρεές.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας, θέλω να χρησιμοποιήσω το πρότυπο αρχείου exel μου MyFormat για να δημιουργήσω φύλλα εργασίας και να ονομάσω τα φύλλα εργασίας με βάση τα δεδομένα στην πρώτη στήλη. Ο παρακάτω κώδικας VBA λειτουργεί κανονικά για τη δημιουργία των φύλλων εργασίας σύμφωνα με το MyFormat. Αλλά δημιουργεί εκατοντάδες κενά φύλλα και σε κανονικό πρότυπο excel. Θα μπορούσε κάποιος οργανισμός να με βοηθήσει να σταματήσω να δημιουργώ υπερβολικά λευκά φύλλα. Ευχαριστώ, Kumar Sub AddSheets() Dim κελί ως Excel.Range Dim wsWithSheetNames As Excel.Worksheet Dim wbToAddSheetsTo As Excel.Workbook Set wsWithSheetNames = ActiveSheet Set wbToAddSheetsTo =WithWithSheetsTo =W2SeetSeet. .Add After:=ActiveSheet Sheets.Add Type:= _ "C:\Users\Dreamline\AppData\Roaming\Microsoft\Templates\MyFormat.xltx" Σε σφάλμα Συνέχιση Επόμενο ActiveSheet.Name = cell.Value If Err.Number = 165 Στη συνέχεια, Debug.Print cell.Value & " χρησιμοποιείται ήδη ως όνομα φύλλου" End If On Error GoTo 1004 End With Next cell End Sub
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Τα ονόματα φύλλων εργασίας πρέπει να έχουν μήκος μικρότερο ή ίσο με τριάντα χαρακτήρες.
Όχι πολύ κοινή γνώση, αλλά διαφορετικά ο κώδικας θα παράγει ένα προεπιλεγμένο κενό φύλλο εργασίας "Φύλλο #".

Δημιουργήστε ένα νέο φύλλο εργασίας στο οποίο θα εκτελείται ο κωδικός ανάλυσης και αναφέρετε την πρώτη στήλη ως εξής:
=IF(OR('Αρχικό με αναφορά στο πρωτότυπο'!B1<>"", LEN('Αρχικό με αναφορά στο πρωτότυπο'!B1)>30), LEFT('Αρχικό με αναφορά στο πρωτότυπο'!B1,30),'Αρχικό με αναφορά στο πρωτότυπο'!B1)


Αντιγράψτε ή αναφέρετε το υπόλοιπο φύλλο όπως μπορείτε. Βεβαιωθείτε ότι η στήλη δεν περιέχει περιορισμούς επικύρωσης δεδομένων εάν αντιμετωπίζετε προβλήματα με την αναφορά στο άλλο φύλλο εργασίας.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ευχαριστώ πολύ που το δημοσιεύσατε!!!! Λειτουργούσε σαν γούρι. Μπορείτε να εξηγήσετε πώς λειτουργεί το πρώτο σετ κώδικα;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Σας ευχαριστώ γι 'αυτό!



Στον κώδικα VBA υπάρχει ούτως ή άλλως για να ονομάσουμε τα προκύπτοντα φύλλα από τα δεδομένα της πρώτης και της δεύτερης στήλης σειρών συνδυαστικά;



έτσι για το παράδειγμά σας το φύλλο 2 θα ονομαζόταν αυτόματα "linda 100"
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αγαπητέ Joyce,
Σας ευχαριστώ για το σχόλιό σας! Ελπίζουμε ότι το παρακάτω σενάριο VBA μπορεί να σας βοηθήσει.

Sub parse_data()
Dim xRCCount As Long
Dim xSht ως φύλλο εργασίας
Dim xNSht ως φύλλο εργασίας
Dim I As Long
Dim xTRrow ως ακέραιος αριθμός
Dim xCol ως νέα συλλογή
Dim xTitle As String
On Error Συνέχιση Επόμενη
Application.ScreenUpdating = False
Ορισμός xSht = ActiveSheet
xRCount = xSht.UsedRange.End(xlDown).Σειρά
xTitle = "A1:B1"
xTRrow = xSht.Range(xTitle).Σειρά
Για I = 2 To xRCcount
Κλήση xCol.Add(CStr(xSht.Cells(I, 1)), CStr(xSht.Cells(I, 1)))
Επόμενο
Εντοπισμός σφαλμάτων.Εκτύπωση xCol.Count
Για I = 1 Προς xCol.Count
Κλήση xSht.Range(xTitle).AutoFilter(1, CStr(xCol.Item(I)))
Ορισμός xNSht = Τίποτα
Ορισμός xNSht = Φύλλα εργασίας(CStr(xCol.Item(I)))
Αν το xNSht δεν είναι τίποτα τότε
Ορισμός xNSht = Worksheets.Add(, Sheets(Sheets.Count))
xNSht.Name = CStr(xCol.Item(I) & xSht.Cells(I + 1, 2))
Αλλού
xNSht.Move , Sheets(Sheets.Count)
End If
xSht.Range("A" & xTRrow & ":A" & xRCount).EntireRow.Copy xNSht.Range("A1")
xNSht.Columns.AutoFit
Επόμενο
xSht.AutoFilterMode = False
xSht.Ενεργοποίηση
Application.ScreenUpdating = True
Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτό ήταν εξαιρετικά χρήσιμο, ακριβώς αυτό που έψαχνα. Ευχαριστώ!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτός ο κωδικός είναι πολύ χρήσιμος και σχεδόν αυτό που έψαχνα.
Αλλά μπορεί να ρυθμιστεί έτσι ώστε να υπάρχουν δύο φύλλα -
Το φύλλο 1 είναι τα Δεδομένα - ένας πίνακας δεδομένων με τη στήλη Α να είναι το όνομα
Το φύλλο 2 είναι ένα πρότυπο, με πολλά πεδία που απαιτούν συμπλήρωση
Αυτό που ήλπιζα είναι η εκτέλεση μιας μακροεντολής, η οποία θα γίνει
1 Αντιγραφή-επικόλληση του προτύπου, στο ίδιο αρχείο, ονομάστε το φύλλο ως όνομα στο κελί A1
2 Αντιγράψτε το κελί B1 και μετά περάστε σε ένα επιλεγμένο πεδίο στο νέο πρότυπο
3 επαναλάβετε κατά μήκος της σειράς 1 μέχρι να αδειάσει
4 μετά επαναλάβετε για τη σειρά 2 και κάθε σειρά μέχρι το τέλος.
Το αποτέλεσμα είναι ένα αρχείο με αριθ. x. φύλλα ίδια με το πρότυπο, με όλα τα πεδία συμπληρωμένα.
Κληρονόμησα ένα αρχείο που λειτουργεί με τον άλλο τρόπο, εξάγοντας δεδομένα από πρότυπα σε έναν πίνακα, αλλά δεν μπορώ να το αντιστρέψω.....
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αγαπητέ Σαμ,
Θα ήταν καλό αν μπορούσατε να επισυνάψετε το βιβλίο εργασίας σας εδώ.
Μπορείτε να ανεβάσετε το αρχείο σας με το παρακάτω κουμπί Μεταφόρτωση αρχείων.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας Προσπάθησα να χρησιμοποιήσω τον κωδικό σας αλλά λαμβάνω ένα σφάλμα
Run-timeerror '1004':
Σφάλμα που καθορίζεται από την εφαρμογή ή το αντικείμενο
Δεν έχω γνώση του VBA (ή οποιασδήποτε τεχνολογίας για αυτό το θέμα), αλλά αν γίνει εντοπισμός σφαλμάτων πατήστε τη γραμμή 11 xRCount=xSht.Cells(xSht.Rows.Count,1). Τέλος(xIUp).Σειρά
Δουλεύω με ένα μεγάλο αρχείο που έχει 127 στήλες και 337 σειρές (οι σειρές θα ποικίλλουν, οι στήλες όχι) και είναι μια λίστα με τους αριθμούς και τα στοιχεία τους.
Άλλαξα το εύρος όπως σημειώσατε, αλλά εξακολουθεί να μην λειτουργεί. Χρησιμοποιώ το Excel 2010, θα μπορούσατε σας παρακαλώ να μου πείτε πώς να το κάνω να λειτουργήσει αν είναι δυνατόν
Ευχαριστούμε
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αγαπητέ Beatriz,
Ο κώδικας ενημερώνεται με την επίλυση προβλημάτων. Δοκιμάστε το ξανά. Σας ευχαριστούμε για το σχόλιό σας.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας, νομίζω ότι υπάρχει κάτι χρήσιμο εδώ για την περίπτωσή μου, αλλά μπορώ να κάνω VBA ή σενάριο, ελπίζω να μπορείτε να βοηθήσετε.
Έχω ένα πρότυπο με πολλά κελιά για να γεμίσω με δεδομένα και θα υπάρχει ένα κλειδί αναζήτησης (μη μοναδικό) που θα ήθελα να εισάγω στο πρότυπο. Με βάση το κλειδί αναζήτησης, τα δεδομένα αναζητούνται και τα αντίστοιχα δεδομένα στο αντιστοιχισμένο κλειδί ανακτώνται και συμπληρώνονται στο πρότυπο. Το συμπληρωμένο πρότυπο αποθηκεύεται σε ένα νέο φύλλο εργασίας. Ίσως υπάρχουν περισσότερες από 1 εγγραφές αγώνα. Χρειάζομαι το σενάριο για να συνεχίσω την αναζήτηση στη λίστα, μέχρι να επιλεγούν όλες οι αντιστοιχίσεις και να δημιουργηθεί ο συγκεκριμένος αριθμός νέων φύλλων εργασίας.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, υπάρχει τρόπος να διατηρήσετε τη σειρά επικεφαλίδας σε κάθε νέο φύλλο εργασίας; (κυκλωμένο με κόκκινο χρώμα στο συνημμένο μου)

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



Αναφέρομαι σε αυτόν τον κώδικα από πάνω:

Sub RowToSheet()
Dim xRow As Long
Dim I As Long
Με το ActiveSheet
xRow = .Range("A" & Rows.Count).End(xlUp).Row
Για I = 1 σε xRow
Φύλλα εργασίας.Προσθήκη(, Φύλλα(Φύλλα.Count)).Όνομα = "Σειρά " & Ι
.Rows(I).Αντιγραφή φύλλων("Σειρά" & I).Range("A1")
Έπειτα εγώ
Τέλος με
Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Εξαιρετικός κώδικας, αλλά θα μπορούσα να λάβω βοήθεια εάν τα δεδομένα μου βρίσκονται στη στήλη G αντί για τη στήλη Α; τι πρέπει να αλλάξω για να έχω τα δεδομένα της στήλης G σε διαφορετική καρτέλα;

Ευχαριστώ
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτός είναι υπέροχος κώδικας. Ευχαριστούμε πολύ τα brain-boxes στο OfficeExtend !! Υπάρχει ούτως ή άλλως αυτός ο κωδικός θα μπορούσε να προσαρμοστεί ελαφρώς για τη δημιουργία ξεχωριστών φύλλων για κάθε *στήλη* αντί για γραμμή; Έχω επισυνάψει μια εικόνα του τι προσπαθώ να πετύχω. Είναι δυνατόν; Θερμούς χαιρετισμούς.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Καλή μέρα,
Δεν είδα τη φωτογραφία σου εδώ.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας, πώς να τροποποιήσετε τον κωδικό, εάν το πεδίο του ονόματός μου βρίσκεται στη στήλη C
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Abdul Basit,
Ο παρακάτω κώδικας VBA μπορεί να σας βοηθήσει. Δοκιμάστε.
Στη γραμμή: xCName = "3", το 3 υποδεικνύει τον αριθμό της στήλης (εδώ είναι η στήλη C) στο Excel. Μπορείτε να το αλλάξετε σε οποιονδήποτε αριθμό στήλης θέλετε.

Sub parse_data()
«Ενημέρωση από Extendoffice 2018 / 3 / 2
Dim xRCCount As Long
Dim xSht ως φύλλο εργασίας
Dim xNSht ως φύλλο εργασίας
Dim I As Long
Dim xTRrow ως ακέραιος αριθμός
Dim xCol ως νέα συλλογή
Dim xTitle As String
Dim xSUpdate ως Boolean
Dim xCName ως ακέραιος
Dim xTA, xRA, xSRg1 ως συμβολοσειρά
Ορισμός xSht = ActiveSheet
On Error Συνέχιση Επόμενη
xRCount = xSht.Cells(xSht.Rows.Count, 1).End(xlUp).Σειρά
xTitle = "A1:C1"
xCName = "3" 'Αλλάξτε αυτόν τον αριθμό στον αριθμό στήλης στον οποίο θα δημιουργήσετε νέα φύλλα με βάση
xTRrow = xSht.Range(xTitle).Cells(1).Σειρά
Για I = 2 To xRCcount
Καλέστε xCol.Add(xSht.Cells(I, xCName).Text, xSht.Cells(I, xCName).Text)
Επόμενο
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
xSRg = xSht.Cells(1, xCName).Διεύθυνση(RowAbsolute:=False, ColumnAbsolute:=False)
Για I = 1 Προς xCol.Count
Κλήση xSht.Range(xTitle).AutoFilter(xCName, CStr(xCol.Item(I)))
Ορισμός xNSht = Τίποτα
Ορισμός xNSht = Φύλλα εργασίας(CStr(xCol.Item(I)))
Αν το xNSht δεν είναι τίποτα τότε
Ορισμός xNSht = Worksheets.Add(, Sheets(Sheets.Count))
xNSht.Name = CStr(xCol.Item(I))
Αλλού
xNSht.Move , Sheets(Sheets.Count)
End If
xSht.Range("A" & xTRrow & ":A" & xRCount).EntireRow.Copy xNSht.Range("A1")
xNSht.Columns.AutoFit
Επόμενο
xSht.AutoFilterMode = False
xSht.Ενεργοποίηση
Application.ScreenUpdating = xSUpdate
Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Δροσερός κώδικας VBA για να κάνει το κόλπο.

Πώς μπορώ να το τροποποιήσω ώστε να μην αντιγράφει την πρώτη στήλη; Και να αφαιρέσω το όνομα της στήλης;

Χαιρετισμούς
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Μπορώ να λάβω βοήθεια για το πώς να ονομάζω αυτόματα τα φύλλα χρησιμοποιώντας μια συγκεκριμένη στήλη. Αυτό είναι για τη γραμμή στο φύλλο VBA. Δες παρακάτω

Sub RowToSheet()

Dim xRow As Long

Dim I As Long

Με το ActiveSheet

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

Για I = 1 σε xRow

Φύλλα εργασίας.Προσθήκη(, Φύλλα(Φύλλα.Count)).Όνομα = "Σειρά " & Ι

.Rows(I).Αντιγραφή φύλλων("Σειρά" & I).Range("A1")

Έπειτα εγώ

Τέλος με

Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Δεν πειράζει ότι ήταν κρυμμένοι χώροι μετάβασης. Χρησιμοποίησα τη δυνατότητα TRIM και την καθάρισα. Έχοντας ένα πλήθος σειρών (αριθμός γραμμών, πράγματι, οι σειρές -1 που επισυνάπτονται στο φύλλο θα ήταν εκπληκτικό)
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Πώς γίνεται αναφορά στη χρήση του παραπάνω κωδικού (πίστωση) ; Είναι δυνατή η τροποποίηση του κωδικού;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, αυτή είναι μια ανοιχτή πλατφόρμα επικοινωνίας. Ο κωδικός επιτρέπεται να παραπέμπει και να τροποποιεί.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Νανά
86
2
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γειά σου! Μόλις χρησιμοποίησα αυτόν τον κωδικό και λειτούργησε! Εκτός από τη δημιουργία ενός νέου φύλλου για κάθε καταχώρηση, θέλω να το μεταφέρω σε στήλες και δεν μπορώ να το καταλάβω. Έτσι, για το παραπάνω παράδειγμα, η έξοδος για το Nana θα μοιάζει με αυτό - Όνοματεπώνυμο NanaΣκορ 86Όχι. 2
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας, χρησιμοποίησα αυτόν τον κωδικό και λειτούργησε, αλλά αν θέλω να επιλέξω περισσότερες από μία σειρές στην κεφαλίδα, τι θα αλλάξει στον κώδικα; Έχω πολλές γραμμές στο φύλλο που θέλω σε κάθε φύλλο.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας, καταλάβατε πώς;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, υπάρχει κάποιος κωδικός που θα προσθέτει μόνο 1 νέο φύλλο κάθε φορά που εκτελείται η μακροεντολή, π.χ. 1η φορά που το νέο φύλλο θα ονομαζόταν στα περιεχόμενα του κελιού A1, 2η φορά που εκτελούνταν η μακροεντολή, το νέο φύλλο θα ονομαζόταν στο περιεχόμενα του Α2 κλπ. ευχαριστώ εν αναμονή
Δεν υπάρχουν σχόλια δημοσιεύτηκε ακόμα
Τοποθετήστε Περισσότερα
Αφήστε τα σχόλιά σας
Δημοσίευση ως επισκέπτης
×
Αξιολογήστε αυτήν την ανάρτηση:
0   Χαρακτήρες
Προτεινόμενες τοποθεσίες

Ακολουθησε μας

Πνευματικά δικαιώματα © 2009 - www.extendoffice.com. | Ολα τα δικαιώματα διατηρούνται. Τροφοδοτείται από ExtendOffice. | Sitemap
Το Microsoft και το λογότυπο του Office είναι εμπορικά σήματα ή σήματα κατατεθέντα της Microsoft Corporation στις Ηνωμένες Πολιτείες ή / και σε άλλες χώρες.
Προστατεύεται από το Sectigo SSL