Επικύρωση δεδομένων από λίστα

Και στο σημερινό σημείωμα θα ασχοληθούμε με τις επικυρώσεις δεδομένων. Ακολουθούν τρία παραδείγματα όπου οι επιτρεπόμενες καταχωρήσεις βρίσκονται σε λίστα:
Επικύρωση δεδομένων με επιτρεπόμενες τιμές από λίστα.
Γράψτε τις επιτρεπόμενες τιμές της επικύρωσης σε μία στήλη ενός οποιαδήποτε φύλλου του βιβλίου σας. Δώστε ένα καθολικό όνομα στα δεδομένα σας, ας πούμε ValidationData. Μάλιστα επειδή τα δεδομένα σας μπορεί να μεταβάλλονται και να προστίθενται όλο και νέες εγγραφές στη στήλη, ορίστε το όνομα δυναμικά, ώστε αυτόματα να προστίθενται οι νέες εγγραφές. Αν υποθέσουμε ότι γράψατε τις επιτρεπόμενες τιμές στη στήλη Α του φύλλου “βοηθητικό” γράψτε το όνομα έτσι:
ValidationData =OFFSET(βοηθητικό!$A$1;0;0;COUNTA(βοηθητικό!$A:$A);1)
Μετά καθορίστε την επικύρωση σε όποιο φύλλου του βιβλίου σας θέλετε, όπως βλέπετε στην παρακάτω εικόνα:


Παράδειγμα με αναλυτικές οδηγίες θα βρείτε στο excel βιβλίο: SpecialValidation_01

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

Στο excel βιβλίο  SpecialValidation_02  θα βρείτε παράδειγμα με αναλυτικές οδηγίες βήμα-βήμα.
Πιο καλά κατεβάστε τη νέα (2014, Νοεμ.) βελτιωμένη έκδοση Special_Validation_02_new.xls
Στο τρίτο παράδειγμα η είσοδος δεδομένων γίνεται από μία πολυσυλλεκτική φόρμα.
Οι τιμές που θα επιλέξετε από την φόρμα θα προστεθούν στη στήλη εισαγωγής δεδομένων, ακριβώς κάτω από τις άλλες τιμές. Δείτε ένα παράδειγμα σε λειτουργία και τον λίγο VBA κώδικα που χρειάστηκε στο excel βιβλίο SpecialValidation_03
This entry was posted in excel, Επικύρωση, Μακροεντολές, VBA and tagged , , , , . Bookmark the permalink.

11 Responses to Επικύρωση δεδομένων από λίστα

  1. Ο/Η Γιώργος λέει:

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

  2. Ο/Η vioannis λέει:

    Φίλε Γιώργο
    Το excel δεν δέχεται επικύρωση με δεδομένα από λίστα που αποτελείται από δύο ή περισσότερες στήλες. Αν το επιχειρήσεις θα πάρεις ένα απαγορευτικό μήνυμα.
    Παρόλα αυτά μπορούμε να κοροϊδέψουμε το excel με ένα μικρό κόλπο.
    Πρώτα κάνε όλα τα βήματα όπως περιγράφονται στο πρώτο πιο πάνω παράδειγμα : “Επικύρωση δεδομένων με επιτρεπόμενες τιμές από λίστα”.
    Στη συνέχεια στη στήλη Β του βοηθητικού φύλλου γράψε σε κάθε κελί επεξηγήσεις για τις τιμές των κελιών της στήλης Α. Έτσι κάθε κελί της Α θα έχει την επεξήγηση- βοήθεια στο διπλανό κελί Β.
    Τώρα πήγαινε Τύποι > Διαχείριση ονομάτων και στο όνομα: ValidationData =OFFSET(βοηθητικό!$A$1;0;0;COUNTA(βοηθητικό!$A:$A);1), άλλαξε τον αριθμό 1 στο τέλος του τύπου σε 2: =OFFSET(βοηθητικό!$A$1;0;0;COUNTA(βοηθητικό!$A:$A);2). Ο αριθμός αυτός καθορίζει πόσες στήλες θα βλέπει η OFFSET. (Φύγε από την Διαχείριση ονομάτων πατώντας το τσεκ).
    Τώρα η επικύρωση δεν “διαμαρτύρεται” κάτω από κάθε τιμή εμφανίζει την επεξήγηση- βοήθεια. Μπορείς να χρησιμοποιήσεις και την στήλη C και D κλπ, αλλάζοντας το 1 σε 3, 4 κλπ αντίστοιχα. Δοκίμασε στα κελία της στήλης C να βάλεις ένα διαχωριστικό πχ “======” , θα έχεις πιο καλά αισθητικά αποτελέσματα.
    Αυτό δίνει μία “περίπου” λύση στο πρόβλημα που έθεσες, χωρίς vba.
    Θα προσπαθήσω να επανέλθω και μία vba λύση.

  3. Ο/Η vioannis λέει:

    Γιώργο, επανέρχομαι…
    Δες το βιβλίο specialvalidation_04. Είναι μια παραλλαγή του τρίτου πιο πάνω παραδείγματος, όπου η είσοδος δεδομένων γίνεται από μία πολυσυλλεκτική φόρμα. Στο άνοιγμά της η φόρμα μπορεί να εμφανίσει πολλές στήλες. Ο χρήστης επιλέγει τις τιμές που επιθυμεί και μόνο οι τιμές της πρώτης στήλης εισάγονται στη στήλη εισαγωγής των δεδομένων. Οι τιμές των άλλων στηλών εμφανίζονται στη φόρμα μόνο για διευκόλυνση του χρήστη. Αναλυτικές πληροφορίες και τον λίγο vba κώδικα θα βρεις στο βιβλίο.

  4. Ο/Η Γιώργος λέει:

    ευχαριστώ πολύ. θα το δω και θα σου πω περισσότερα.

  5. Ο/Η apostolos orfanidis λέει:

    Κύριε Γιάννη καλησπέρα και παλι .
    Γίνεται η επικύρωση …της επικύρωσης… και με ποιο τρόπο ?
    Σας περιγράφω ενα απλό παράδειγμα !!!
    φύλλο 1
    έχω γράψει στη κολωνα Α της 5 ηπείρους της γης
    Α1 ευρωπη , Α2 ασια …..
    στην κολωνα β έχω γράψει τις χωρες της Ευρώπης : Β1 ιταλια Β2 ολλανδια ,Β3 γαλλια
    στην κολωνα C εχω γραψει τις χωρες της ασιας : C1 σιγκαπουρη ,C2 κινα, C3 νεπαλ ,C4 ινδια
    και συνεχιζεται …

    τι θα ήθελα …εφόσον επιλέξω στο κελί α1 στο φύλλο 2 την Ευρωπη σαν ηπειρο μεσα απο την δυνατοτητα επικυρωσης που μας εχετε δειξει ( ΕΜΦΑΝΙΖΟΝΤΑΙ ΟΙ 5 ΗΠΗΡΟΙ ΤΗΣ ΓΗΣ ΠΑΤΩΝΤΑΣ ΤΟ ΒΕΛΑΚΙ ΔΕΞΙΑ ΤΟΥ ΚΕΛΙΟΥ )
    αυτοματα οταν θα παω στο κελι α2 ΚΑΙ ΠΑΤΩΝΤΑΣ ΤΟ ΒΕΛΑΚΙ ΔΕΞΙΑ ΝΑ ΜΟΥ ΔΩΣΕΙ … για επιλογη μονο τις χωρες της ευρωπης , ωστε να επιλεξω αυτη που επιθυμω …

    ευχαριστω πολυ.

  6. Ο/Η vioannis λέει:

    Γίνεται, και θα βρεις αναλυτική περιγραφή για να το κάνεις, στο σημείωμα του ιστολογίου «Φιλτραρισμένη επικύρωση (δεδομένα σε ομάδες)». εδώ

  7. Ο/Η Γιώργος λέει:

    Γιάννη καλησπέρα.
    Μετά από καιρό επανέρχομαι στο τόσο χρήσιμο θέμα της επικύρωσης δεδομένων. Διαπίστωσα ότι στο βιβλίο specialvalidation_02.xls που είχα κατεβάσει τότε, δεν δουλεύει το μήνυμα για την εισαγωγή νέας εγγραφής. Εισάγει κατευθείαν την νέα εγγραφή χωρίς ερωτήσεις κλπ. Το δοκίμασα σε 2003 και 2007. Υπάρχει κάποιο πρόβλημα ή εγώ κάνω κάποιο λάθος;

  8. Ο/Η vioannis λέει:

    Φίλε Γιώργο, τελικά έχεις απόλυτο δίκιο. Πράγματι, στο αρχείο specialvalidation_02.xls, όταν ο χρήστης εισάγει εντελώς νέα εγγραφή, το προειδοποιητικό μήνυμα δεν εμφανίζεται σε όλες τις περιπτώσεις. (Για την ακρίβεια το μήνυμα εμφανίζεται όταν ο χρήστης πληκτρολογήσει την νέα εγγραφή και αμέσως μετά πατήσει κάπου στο φύλλο με το ποντίκι, αν πατήσει Enter ή κάποιο από τα βέλη στο πληκτρολόγιο, το μήνυμα δεν εμφανίζεται). Ξαναδούλεψα λοιπόν το αρχείο και στη νέα έκδοσή του: Special_Validation_02_new.xls το πρόβλημα έχει ξεπεραστεί. Αφήνω όμως και την παλιά έκδοση γιατί κάποιοι χρήστες ίσως να προτιμούν να μην εμφανίζεται το προειδοποιητικό μήνυμα. Σε ευχαριστώ για τη θετική συμβολή σου. (Εν τω μεταξύ διέγραψα τις δύο προηγούμενες, χωρίς νόημα πια, απαντήσεις μου στο σχόλιό σου).

  9. Ο/Η Γιώργος λέει:

    Εγώ σε ευχαριστώ Γιάννη και μακάρι να είσαι πάντα καλά να μας δίνεις προωθητικές ιδέες και λύσεις.

  10. Ο/Η K Boursiani λέει:

    Καλησπέρα! Τα συγχαρητήρια μου για τη σελίδα σας και θα μπω απευθείας στο θέμα. Έχω δεδομένα από μία λίστα …με επικύρωση κτλ. Αυτά τα δεδομένα μπορώ να τα επεξεργαστώ?
    δΗΛ. Το % που εμφανίζεται το κάθε δεδομένο κτλ..

  11. Ο/Η vioannis λέει:

    Βεβαίως, φυσικά εννοείται ότι θα τα επεξεργαστείτε σε κελιά έξω από τα κελιά της επικύρωσης.

Τα σχόλια είναι απενεργοποιημένα.