![]() |
αυτόματη κατάργηση διπλότυπων 1 Συνημμένο(α) Καλή σας μέρα, Χρειάζομαι μια μικρή βοήθεια. Επιθυμώ να φέρω μοναδικές εγγραφές από διαφορετικά φύλλα σε ένα συγκεντρωτικό. Μέχρι τώρα έκανα τα εξής. 1. Αντιγραφή από όλα τα φύλλα 2. Επικόλληση στο κεντρικό 3. Ταξινόμηση 4. Κατάργηση διπλότυπων. Δεν ξέρω την συνάρτηση που θα τα φέρνει όλα στο συγκεντωτικό φυλλό, χωρίς τις διπλοεγγραφές. Επισυνάπτεται δείγμα. Ευχαριστώ. |
Αντιγράφουμε τον πιο κάτω κώδικα, σε μια module. Συνδέουμε τον κώδικα, σε ένα κουμπί ή τον «τρέχουμε» με όποια άλλη μέθοδο θέλουμε. Κώδικας: Sub Combine()Ο κώδικας, μεταφέρει τις εγγραφές από όλα τα (ν) φύλλα του βιβλίου, στο Total. Κατόπιν, διαγράφει τα διπλότυπα και ταξiνομεί Α-Ω ή Α-Ζ Το φύλλο Total, θα πρέπει να παραμείνει με κωδικό όνομα = Sheet1 και πάντα στην πρώτη θέση του βιβλίου. Οι εγγραφές στα φύλλα, θα πρέπει να είναι στην μορφή και διάταξη του παραδειγματικού βιβλίου. Το βιβλίο, θα πρέπει να αποθηκευτεί, ως .xlsm |
1 Συνημμένο(α) Καλησπέρα Αντώνη δες μια υλοποίηση, με κώδικα VBA, στο συνημμένο. |
Γιώργο, ο κώδικάς σου, έχει ένα σφάλμα. Ξεκινώντας θα πρέπει να καθαρίζει την περιοχή στο Total, διότι αν για παράδειγμα έχουμε 100 εγγραφές και μετά την ανανέωση έχουμε 90 θα παραμείνουν 10 εγγραφές που δεν πρέπει... |
Ευχαριστώ πολύ για άλλη μια φορά για την βοήθεια. :thumbup: :thumbup: |
Σπύρο δεν υπάρχει λάθος. Οι εγγραφές που θα καταλήξουν στο φύλλο "Total" είναι i. Πριν από την αντιγραφή τους καθαρίζονται i+5, γραμμές. Έτσι ανάμεσα στα νέα δεδομένα και στα τυχόν παλιά θα υπάρχουν, για διάκριση, 5 κενές γραμμές. |
Γράψε στο φύλλο 100, κάτω από το Belarus πχ Hellas και από κάτω ότι να ναι πχ ΧΧΧΧ Εκτέλεσε τον κώδικα. Σβήσε τα πιο πάνω από το φύλλο 100 και εκτέλεσε πάλι... |
Σπύρο έχεις δίκιο, αλλά το λάθος είναι ότι στον κώδικα αντί: rng.Resize(i + 5).ClearContents, από αβλεψία έγγραψα: rng.Resize(i + 5).ClearComments |
Ok, όλα καλά! |
| Η ώρα είναι 06:18. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.