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

Πώς να αντιγράψετε σειρές από πολλά φύλλα εργασίας βάσει κριτηρίων σε ένα νέο φύλλο;

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

Αντιγράψτε σειρές από πολλά φύλλα εργασίας βάσει κριτηρίων σε ένα νέο φύλλο με κώδικα VBA


Αντιγράψτε σειρές από πολλά φύλλα εργασίας βάσει κριτηρίων σε ένα νέο φύλλο με κώδικα VBA

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

1. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.

2. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε τον ακόλουθο κώδικα στο παράθυρο της ενότητας.

Κωδικός VBA: Αντιγράψτε σειρές από πολλά φύλλα βάσει κριτηρίων σε ένα νέο φύλλο

Public Sub CopyRows_ValuesAndNumberFormats()
Dim xWs As Worksheet
Dim xCWs As Worksheet
Dim xRg As Range
Dim xStrName As String
Dim xRStr As String
Dim xRRg As Range
Dim xC As Integer
On Error Resume Next
Application.DisplayAlerts = False
xStr = "Kutools for Excel"
xRStr = "Completed"
Set xCWs = ActiveWorkbook.Worksheets.Item(xStr)
If Not xCWs Is Nothing Then
    xCWs.Delete
End If
Set xCWs = ActiveWorkbook.Worksheets.Add
xCWs.Name = xStr
xC = 1
For Each xWs In ActiveWorkbook.Worksheets
    If xWs.Name <> xStr Then
        Set xRg = xWs.Range("C:C")
        Set xRg = Intersect(xRg, xWs.UsedRange)
        For Each xRRg In xRg
            If xRRg.Value = xRStr Then
               xRRg.EntireRow.Copy
               xCWs.Cells(xC, 1).PasteSpecial xlPasteValuesAndNumberFormats
               xC = xC + 1
            End If
        Next xRRg
    End If
Next xWs
Application.DisplayAlerts = True
End Sub

Note: Στον παραπάνω κωδικό:

  • Το κείμενο "Ολοκληρώθηκε το" σε αυτό xRStr = "Ολοκληρώθηκε" Το σενάριο υποδεικνύει τη συγκεκριμένη κατάσταση στην οποία θέλετε να αντιγράψετε σειρές με βάση
  • Γ: Γ σε αυτό το Ορισμός xRg = xWs.Range ("C: C") Το σενάριο υποδεικνύει τη συγκεκριμένη στήλη όπου εντοπίζεται η συνθήκη.

3. Στη συνέχεια, πατήστε F5 κλειδί για την εκτέλεση αυτού του κώδικα και όλες οι σειρές με τη συγκεκριμένη συνθήκη έχουν αντιγραφεί και επικολληθεί σε ένα νέο φύλλο εργασίας με το όνομα Kutools για Excel στο τρέχον βιβλίο εργασίας. Δείτε το στιγμιότυπο οθόνης:


Σχετικά άρθρα έλξης ή αντιγραφής δεδομένων:

  • Αντιγραφή δεδομένων σε άλλο φύλλο εργασίας με προηγμένο φίλτρο στο Excel
  • Κανονικά, μπορούμε να εφαρμόσουμε γρήγορα τη δυνατότητα Advanced Filter για εξαγωγή δεδομένων από τα μη επεξεργασμένα δεδομένα στο ίδιο φύλλο εργασίας. Ωστόσο, μερικές φορές, όταν προσπαθείτε να αντιγράψετε το φιλτραρισμένο αποτέλεσμα σε άλλο φύλλο εργασίας, θα λάβετε το ακόλουθο προειδοποιητικό μήνυμα. Σε αυτήν την περίπτωση, πώς θα μπορούσατε να αντιμετωπίσετε αυτήν την εργασία στο Excel;
  • Αντιγραφή σειρών σε νέο φύλλο βάσει κριτηρίων στήλης στο Excel
  • Για παράδειγμα, υπάρχει ένας πίνακας αγοράς φρούτων και τώρα πρέπει να αντιγράψετε εγγραφές σε νέο φύλλο βάσει συγκεκριμένων φρούτων, πώς να το κάνετε εύκολα στο Excel; Εδώ θα παρουσιάσω μερικές μεθόδους για να αντιγράψω σειρές σε νέο φύλλο βάσει κριτηρίων στήλης στο Excel.
  • Αντιγραφή σειρών εάν η στήλη περιέχει συγκεκριμένο κείμενο / τιμή στο Excel
  • Ας υποθέσουμε ότι θέλετε να μάθετε κελιά που περιέχουν συγκεκριμένο κείμενο ή τιμή σε μια στήλη και, στη συνέχεια, αντιγράψτε ολόκληρη τη σειρά όπου βρίσκεται το κελί που βρέθηκε, πώς θα μπορούσατε να το αντιμετωπίσετε; Εδώ θα παρουσιάσω μερικές μεθόδους για να βρω αν η στήλη περιέχει συγκεκριμένο κείμενο ή τιμή και, στη συνέχεια, αντιγράψτε ολόκληρη τη σειρά στο Excel.

  • Super Formula Bar (επεξεργαστείτε εύκολα πολλές γραμμές κειμένου και τύπου). Διάταξη ανάγνωσης (εύκολη ανάγνωση και επεξεργασία μεγάλου αριθμού κελιών). Επικόλληση σε φιλτραρισμένο εύρος...
  • Συγχώνευση κελιών / σειρών / στηλών και τήρηση δεδομένων · Περιεχόμενο διαχωρισμού κελιών Συνδυάστε διπλές σειρές και άθροισμα / μέσος όρος... Αποτροπή διπλών κυττάρων; Συγκρίνετε τα εύρη...
  • Επιλέξτε Διπλότυπο ή Μοναδικό Σειρές; Επιλέξτε Κενές σειρές (όλα τα κελιά είναι κενά). Σούπερ εύρεση και ασαφής εύρεση σε πολλά βιβλία εργασίας. Τυχαία επιλογή ...
  • Ακριβές αντίγραφο Πολλαπλά κελιά χωρίς αλλαγή της αναφοράς τύπου. Αυτόματη δημιουργία αναφορών σε πολλαπλά φύλλα? Εισαγωγή κουκκίδων, Πλαίσια ελέγχου και άλλα ...
  • Αγαπημένα και γρήγορη εισαγωγή τύπων, Σειρά, Διαγράμματα και Εικόνες; Κρυπτογράφηση κυττάρων με κωδικό πρόσβασης Δημιουργία λίστας αλληλογραφίας και στείλτε email ...
  • Εξαγωγή κειμένου, Προσθήκη κειμένου, Κατάργηση κατά θέση, Αφαιρέστε το διάστημα; Δημιουργία και εκτύπωση υποσύνολων σελιδοποίησης. Μετατροπή περιεχομένου και σχολίων μεταξύ κελιών...
  • Σούπερ φίλτρο (αποθηκεύστε και εφαρμόστε σχήματα φίλτρων σε άλλα φύλλα). Προηγμένη ταξινόμηση ανά μήνα / εβδομάδα / ημέρα, συχνότητα και άλλα. Ειδικό φίλτρο με έντονη, πλάγια ...
  • Συνδυάστε βιβλία εργασίας και φύλλα εργασίας; Συγχώνευση πινάκων βάσει βασικών στηλών. Διαχωρίστε τα δεδομένα σε πολλά φύλλα; Μαζική μετατροπή xls, xlsx και PDF...
  • Ομαδοποίηση συγκεντρωτικού πίνακα κατά αριθμός εβδομάδας, ημέρα εβδομάδας και πολλά άλλα ... Εμφάνιση ξεκλειδωμένων, κλειδωμένων κελιών με διαφορετικά χρώματα. Επισημάνετε τα κελιά που έχουν τύπο / όνομα...
kte καρτέλα 201905
  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
κάτω μέρος γραφείου
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi,

thank you very much for the code. I have a question: the code runs smoothly on some of my sheets, but looks like enters an infinite loop in some other ones which makes excel crash. What could the reason be?
This comment was minimized by the moderator on the site
Hello there, thank you so much for the code above, it solved me a problem with a complex file; a solution I have been looking for a while now. Thank you..I have one question. How do I change the code so that it copies the rows but only from colum A to colum Q, so not Entire.Row?Thank you in advance and great work!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations