Πώς να μεταφέρετε συγκεκριμένα δεδομένα από ένα φύλλο σε άλλο μέσω VBA στο Microsoft Excel

Πίνακας περιεχομένων

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

Τα ακατέργαστα δεδομένα αποτελούνται από στοιχεία πελατών, τα οποία περιλαμβάνουν Όνομα, Διεύθυνση οδού, Πόλη, Περιφέρεια, Χώρα και αριθμό τηλεφώνου.

Σε αυτό το άρθρο, θέλουμε να μεταφέρουμε δεδομένα εκείνων των πελατών που δεν πληρούν τις προϋποθέσεις για μια συγκεκριμένη προσφορά. Η τελευταία στήλη περιέχει "Όχι" ως αξία, εάν ένας πελάτης δεν πληροί τις προϋποθέσεις για μια συγκεκριμένη προσφορά. Θέλουμε να αντιγράψουμε αυτούς τους "μη επιλέξιμους" πελάτες στο φύλλο "NotEitableData".

Επεξήγηση κώδικα

Αν Στόχος.Στήλη = 7 Τότε

Ο παραπάνω κώδικας χρησιμοποιείται για τον περιορισμό της εκδήλωσης αλλαγής φύλλου εργασίας για εκτέλεση μόνο όταν η τιμή στο 7ου η στήλη αλλάζει.

Φύλλα ("NotEitableData"). Εύρος ("A2: I600"). ClearContents

Ο παραπάνω κώδικας χρησιμοποιείται για τη διαγραφή της τιμής από το εύρος A2: I600

Φύλλα ("Κύρια"). Κελιά (i, "G"). EntireRow.Copy Προορισμός: = Φύλλα ("NotEitableData"). Εύρος ("A" & Rows.Count). Τέλος (xlUp). Offset (1)

Ο παραπάνω κώδικας χρησιμοποιείται για την αντιγραφή μη επιλέξιμων πελατών στο φύλλο "NotEitableData".

Ακολουθήστε παρακάτω για τον κωδικό

 Private Sub Worksheet_Change (ByVal Target As Range) 'Δήλωση μεταβλητών Dim i, Lastrow As Long' Εκτέλεση κώδικα εάν η τιμή στην έβδομη στήλη αλλάξει If Target.Column = 7 Στη συνέχεια 'Λήψη του αριθμού σειράς του τελευταίου κελιού Lastrow = Sheets ("Main" ) .Range ("A" & Rows.Count). End (xlUp). Row 'Διαγραφή τυχόν προηγούμενων δεδομένων από τα φύλλα φύλλων "NotEbilityData" ("NotE επιλέξιμα δεδομένα"). Εύρος ("A2: I600"). ClearContents' Looping από το δέκατο γραμμή στην τελευταία σειρά Για i = 10 To Lastrow 'Εάν η τιμή στη στήλη G της γραμμής είναι "Όχι", τότε αντιγράψτε τη σειρά στο φύλλο προορισμού If Sheets ("Main"). Κελιά (i, "G"). Τιμή = " Όχι "Στη συνέχεια Φύλλα (" Κύρια "). Κελιά (i," G "). EntireRow.Copy Destination: = Sheets (" NotEitableData "). Range (" A "& Rows.Count). End (xlUp). Offset ( 1) Τέλος Αν Επόμενο i Τέλος Αν Εύρος ("A1"). Επιλέξτε Τέλος υπο 

Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.

Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave