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

Anonim

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

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

Για να εκτελέσετε τη μακροεντολή, κάντε κλικ στο κουμπί στο φύλλο "Κύρια" ή μπορείτε ακόμη και να το εκτελέσετε πατώντας τα πλήκτρα συντόμευσης Alt + F8.

Η μακροεντολή θα διαγράψει όλες τις εγγραφές με προηγούμενες ημερομηνίες. Καθώς εκτελούμε αυτήν τη μακροεντολή στις 14 Δεκεμβρίου 2016, η έξοδος θα αντικατοπτρίζει εγγραφές μόνο για εκείνη την ημερομηνία.

Λογική εξήγηση

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

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

Έχουμε χρησιμοποιήσει τη δήλωση Βήμα μαζί με το βρόχο FOR για βρόχο στην αντίστροφη κατεύθυνση. Ο βρόχος FOR ξεκινά από την τελευταία σειρά και βρόχους προς 11ου σειρά.

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

 Option Explicit Sub RemovePreviousData () Dim Count, LastRow As Integer 'Finding the row row of the last row LastRow = ActiveSheet.Range ("A1"). SpecialCells (xlLastCell). Row' Looping from last row to 11th row For Counter = LastRow To 11 Βήμα -1 Εάν κελιά (μετρητής, 1). Αξία <Ημερομηνία Στη συνέχεια 'Διαγραφή των γραμμών γραμμών (Μετρητής). Διαγραφή Τέλους Αν Επόμενος Τέλος Μετρητή Υπο 

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

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