
18-09-16, 20:57
|
 | Συντονιστής Όνομα: Σπύρος Τσιλιγιάννης Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 22-11-2011 Περιοχή: Αθήνα
Μηνύματα: 2.321
| |
Πρόσεξε το σκεπτικό...
Υποθέτω, ότι ένας ΑΦΜ, έχει μέχρι 2 μηδενικά στην αρχή του και πρέπει:
1. Να έχει 9 ψηφία σύνολο...
2. Να είναι έγκυρος (με βάση τον αλγόριθμο ή τον κώδικα που θα τον ελέγξει)
Κανονικά όταν κρατάμε ΑΦΜ σε μια στήλη, θα πρέπει να είναι μορφοποιημένη Text εξ' αρχής.
Αν δεν είναι, (εδώ είναι και το πρόβλημα του φίλου) τότε:
Πρέπει ένας κώδικας να ελέγξει κάθε κελί χωριστά και να κάνει τα εξής:
1. Μορφοποιεί το κελί "@" = text
2.Μετράει το len του ΑΦΜ
2α. Αν είναι 9 τότε ελέγχει την εγκυρότητα...
2β. Αν δεν είναι 9 (και μέχρι 7) τότε:
Για κάθε ψηφίο μέχρι τα 9 που «λείπει» , προσθέτει τόσα μηδενικά και ελέγχει την εγκυρότητα
του «νέου» ΑΦΜ
2γ. Αν είναι λιγότερα από 7 τότε χρωματίζει πχ κόκκινο (ο ΑΦΜ δεν έχει τα απαιτούμενα ψηφία)
Αν το 2α είναι true τότε προχωράει,
αν είναι false τότε χρωματίζει πχ γκρι
(ο ΑΦΜ δεν είναι έγκυρος)
Αν το 2β είναι true (μετά τη προσθήκη των / του μηδενικού) τότε προχωράει,
αν είναι false τότε χρωματίζει πχ γκρι (ο ΑΦΜ δεν είναι έγκυρος)
Καταλαβαίνεις, ότι για να γίνει σωστά η δουλειά, το θέμα είναι όχι δύσκολο, αλλά σύνθετο...
|