Πίνακας περιεχομένων
Δεδομένα αντιμετώπισης , βάσει κριτηρίων, από ένα φύλλο σε ένα άλλο είναι μία από τις εργασίες που γίνονται συχνά στο Excel. Αν έχετε πολλές γραμμές και θέλετε να τις αντιγράψετε σε ένα άλλο φύλλο βάσει κάποιων κριτηρίων μπορεί να είναι αρκετά κουραστικό και χρονοβόρο. Αλλά με τη Microsoft Εφαρμογή Visual Basic (VBA) μπορείτε να δημιουργήσετε μακροεντολές με τις οποίες μπορείτε εύκολα να αντιγράψετε δεδομένα από ένα φύλλο σε ένα άλλο με βάση διαφορετικά κριτήρια. Σε αυτό το άρθρο, θα σας δείξω πώς μπορείτε να αντιγράψετε σειρές σε ένα άλλο φύλλο εργασίας με βάση 2 διαφορετικούς τύπους κριτηρίων χρησιμοποιώντας το Excel VBA .
Ας υποθέσουμε ότι έχετε το ακόλουθο σύνολο δεδομένων σε ένα φύλλο εργασίας με όνομα " Δεδομένα " όπου δίνονται οι πωλήσεις και οι περιοχές πωλήσεων διαφόρων πωλητών. Τώρα, θέλετε να αντιγράψετε συγκεκριμένες γραμμές με βάση κάποια κριτήρια σε ένα άλλο φύλλο.
Κατεβάστε το βιβλίο ασκήσεων
Αντιγραφή γραμμών σε άλλο φύλλο εργασίας με βάση Criteria.xlsm2 τρόποι αντιγραφής σειρών σε άλλο φύλλο εργασίας με βάση κριτήρια από το Excel VBA
1. Αντιγραφή γραμμών σε άλλο φύλλο εργασίας βάσει κριτηρίων κειμένου
Σε αυτή την επίδειξη, θα σας δείξω πώς μπορείτε να αντιγράψετε γραμμές από ένα φύλλο εργασίας σε ένα άλλο με βάση κριτήρια κειμένου. Ας υποθέσουμε ότι θέλετε να αντιγράψετε τα δεδομένα των πωλητών που πωλούν σε Βιρτζίνια σε ένα φύλλο εργασίας με όνομα Πωλήσεις περιοχής χρησιμοποιώντας το Excel VBA Για να το κάνετε αυτό, πρώτα,
➤ Τύπος ALT+F11 για να ανοίξετε το VBA παράθυρο.
Στο VBA παράθυρο,
➤ Κάντε κλικ στο Εισαγωγή και επιλέξτε Ενότητα .
Θα ανοίξει το Ενότητα (κωδικός) παράθυρο. Τώρα,
➤ Εισάγετε τον ακόλουθο κώδικα στο αρχείο Ενότητα (κωδικός) παράθυρο,
Sub Copy_Criteria_Text() Application.ScreenUpdating = False With ActiveSheet .AutoFilterMode = False With Range("C1", Range("C" & Rows.Count).End(xlUp)) .AutoFilter 1, "Virginia" On Error Resume Next .Offset(1).EntireRow.Copy Sheet3.Range("A" & Rows.Count).End(xlUp).Offset(1) End With .AutoFilterMode = False End With Application.ScreenUpdating = TrueSheet3.Select End Sub
Ο κώδικας θα δημιουργήσει μια μακροεντολή με όνομα Copy_Criteria_Text που θα αναζητήσει τη Virginia στη στήλη C του τρέχοντος φύλλου εργασίας και επιστρέφει τις γραμμές που περιέχουν τη Virginia στο φύλλο εργασίας με την ονομασία Πωλήσεις περιοχής (Φύλλο3).
Μετά από αυτό,
➤ Κλείστε ή ελαχιστοποιήστε το VBA παράθυρο.
➤ Τύπος ALT+F8
Θα ανοίξει το Μάκρο παράθυρο.
➤ Επιλέξτε Copy_Criteria_Text στο Όνομα μακροεντολής και κάντε κλικ στο Εκτέλεση .
Ως αποτέλεσμα, οι γραμμές με τη Virginia θα αντιγραφούν στο φύλλο εργασίας με την ονομασία Πωλήσεις περιοχής
Διαβάστε περισσότερα: Πώς να αντιγράψετε σειρές αυτόματα στο Excel σε άλλο φύλλο (4 μέθοδοι)
2. Αντιγραφή γραμμών σε άλλο φύλλο εργασίας βάσει κριτηρίων αριθμού
Τώρα, θα σας δείξω πώς μπορείτε να αντιγράψετε γραμμές από ένα φύλλο εργασίας σε ένα άλλο φύλλο εργασίας με βάση κριτήρια αριθμού. Ας υποθέσουμε ότι θέλετε να αντιγράψετε τα δεδομένα των πωλήσεων που είναι μεγαλύτερες από $100000 σε ένα φύλλο εργασίας με όνομα Κορυφαίες πωλήσεις Για να το κάνετε αυτό, πρώτα,
➤ Τύπος ALT+F11 για να ανοίξετε το VBA παράθυρο.
Στο VBA παράθυρο,
➤ Κάντε κλικ στο Εισαγωγή και επιλέξτε Ενότητα .
Θα ανοίξει το Ενότητα (κωδικός) παράθυρο. Τώρα,
➤ Εισάγετε τον ακόλουθο κώδικα στο αρχείο Ενότητα (κωδικός) παράθυρο,
Sub Copy_Criteria_Number() Application.ScreenUpdating = False With ActiveSheet .AutoFilterMode = False With Range("D1", Range("D" & Rows.Count).End(xlUp)) .AutoFilter 1, ">100000" On Error Resume Next .Offset(1).EntireRow.Copy Sheet4.Range("A" & Rows.Count).End(xlUp).Offset(1) End With .AutoFilterMode = False End With Application.ScreenUpdating =True Sheet4.Select End Sub
Ο κώδικας θα δημιουργήσει μια μακροεντολή με όνομα Copy_Criteria_Number που θα αναζητήσει τιμές μεγαλύτερες από 100000 στη στήλη D του φύλλου εργασίας με την ονομασία Δεδομένα και να επιστρέψει τις γραμμές που περιέχουν τιμές πωλήσεων άνω των 100000 δολαρίων στο φύλλο εργασίας με την ονομασία Κορυφαίες πωλήσεις (Φύλλο4).
Μετά από αυτό,
➤ Κλείστε ή ελαχιστοποιήστε το VBA παράθυρο.
➤ Τύπος ALT+F8
Θα ανοίξει το Μάκρο παράθυρο.
➤ Επιλέξτε Copy_Criteria_Number στο Όνομα μακροεντολής και κάντε κλικ στο Εκτέλεση .
Ως αποτέλεσμα, οι γραμμές που περιέχουν τιμές πωλήσεων άνω των 100000 δολαρίων θα αντιγραφούν στο Κορυφαίες πωλήσεις φύλλο εργασίας.
Διαβάστε περισσότερα: Πώς να αντιγράψετε πολλαπλές γραμμές στο Excel χρησιμοποιώντας μακροεντολές (4 παραδείγματα)
Συμπέρασμα
Με τις δύο μεθόδους αυτού του άρθρου, θα είστε σε θέση να αντιγράψετε γραμμές από ένα φύλλο εργασίας σε ένα άλλο φύλλο εργασίας με βάση διαφορετικά κριτήρια χρησιμοποιώντας το Excel VBA. Μπορείτε να χρησιμοποιήσετε την πρώτη μέθοδο για κριτήρια κειμένου και τη δεύτερη μέθοδο για κριτήρια αριθμών. Εάν έχετε οποιουδήποτε είδους σύγχυση σχετικά με κάποια από τις μεθόδους, μη διστάσετε να αφήσετε ένα σχόλιο.