Κατανόηση της συνάρτησης Excel VBA IsDate

Η συνάρτηση IsDate του VBA υποτίθεται ότι σας λέει εάν μια συμβολοσειρά κειμένου μπορεί να ερμηνευτεί ως ημερομηνία. Για παράδειγμα, όλες οι παρακάτω εκφράσεις αξιολογούνται ως True:

IsDate (“25/5/2015”)
IsDate ("16 Ιανουαρίου")
IsDate ("12-1")
IsDate ("12/1/15")
IsDate ("2/30")
IsDate ("30/2")

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

Ακολουθούν ορισμένες πληροφορίες από ένα άρθρο υποστήριξης της Microsoft :

Οι συναρτήσεις ημερομηνίας VBA IsDate, Format, CDate και CVDate χρησιμοποιούν μια συνάρτηση που βρίσκεται στο OLE Automation (OleAut32.dll). Αυτή η συνάρτηση αναζητά όλες τις πιθανές μορφές ημερομηνίας με διακριτικό καθεμιάς από τις διαχωρισμένες τιμές στη συμβολοσειρά που αντιπροσωπεύει την ημερομηνία και επιστρέφει μια Boolean τιμή που υποδεικνύει εάν η είσοδος μπορεί να αναπαρασταθεί ως Ημερομηνία.

Αυτό είναι σημαντικό να θυμάστε όταν χρησιμοποιείτε τη συνάρτηση για να ερμηνεύσετε μια ημερομηνία που περιέχει ένα έτος 2 ψηφίων. Διαφορετικές τοπικές ρυθμίσεις χρησιμοποιούν διάφορες μορφές ημερομηνίας (δηλαδή, μμ/ηη/εε, εε/μμ/ηη, « ΗΗ ΜΜΜ ΕΕΕ » , « ΕΕ ΜΜΜ ΗΗ » και ούτω καθεξής) και επομένως η συνάρτηση δοκιμάζει τα ψηφία σε όλες τις θέσεις έως ότου η λειτουργία βρήκε έγκυρη ημερομηνία ή εξάντλησε όλες τις δυνατότητες.

Ακριβώς επειδή το IsDate αναγνωρίζει μια συμβολοσειρά ως ημερομηνία δεν σημαίνει ότι η συμβολοσειρά μπορεί να μετατραπεί αξιόπιστα σε ημερομηνία. Σε ορισμένες περιπτώσεις, το αποτέλεσμα είναι διφορούμενο. Για παράδειγμα, τι γίνεται με αυτή την έκφραση;

IsDate (“29-Feb-01”)

Η 29η Φεβρουαρίου 2001 δεν είναι έγκυρη ημερομηνία. Ωστόσο, αυτή η έκφραση επιστρέφει True επειδή η 1η Φεβρουαρίου 1929 (και η 2 Ιανουαρίου 1929) είναι έγκυρες ημερομηνίες. Και το ίδιο και οι ίδιες ημερομηνίες το 2029.

Μια αναζήτηση για τεκμηρίωση IsDate ήταν κενή. Με βάση τη δοκιμή, το IsDate δέχεται οποιοδήποτε από τα ακόλουθα ως διαχωριστικούς χαρακτήρες: μια κάθετο (/), μια παύλα (-), ένα κόμμα (,), μια τελεία (.) και ένα κενό.

Επομένως, όλες οι παρακάτω εκφράσεις επιστρέφουν True:

IsDate ("5.1")
IsDate ("30 6")
IsDate ("30,6")
IsDate ("1/2")

Αλλά υπάρχει αυτή η ανωμαλία: Οι ακόλουθες εκφράσεις επιστρέφουν True:

IsDate ("5.1.5")
IsDate (“5.1.05”)

Ωστόσο, ρητά, αυτή η έκφραση επιστρέφει False:

IsDate (“5.1.2005”)

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

Τα πράγματα γίνονται ακόμη πιο μπερδεμένα όταν συνειδητοποιείτε ότι το IsDate καλύπτει επίσης τιμές χρόνου. (Δεν υπάρχει αντίστοιχη συνάρτηση IsTime.) Έτσι, οι παρακάτω εκφράσεις επιστρέφουν όλες True:

IsDate (“4:45”)
IsDate ("4.45")
IsDate ("4 45")
IsDate ("4/45")
IsDate (“23:59”)

Αυτές οι εκφράσεις επιστρέφουν False:

IsDate (“4:60”)
IsDate ("24.45")

Είναι σημαντικό να επισημάνουμε ότι το IsDate δεν εμφανίζει όλες αυτές τις ιδιορρυθμίες όταν περνάτε ένα όρισμα Range. Για παράδειγμα:

IsDate (Εύρος ("A1"))

Φαίνεται ότι το IsDate είναι απολύτως αξιόπιστο στον εντοπισμό κελιών που περιέχουν μια ημερομηνία ή μια ώρα. Δεν προσδιορίζει, για παράδειγμα, ένα κελί που περιέχει το 5.1 ως ημερομηνία. Εάν ο κώδικάς σας πρέπει να καθορίσει εάν μια συμβολοσειρά μπορεί να ερμηνευτεί ως ημερομηνία, η καλύτερη λύση είναι να τοποθετήσετε αυτήν τη συμβολοσειρά σε ένα κελί και, στη συνέχεια, να γράψετε κώδικα για να ελέγξετε τα περιεχόμενα του κελιού.

Leave a Comment

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Στο Excel, είναι κρίσιμο να κατανοήσουμε τη διαφορά μεταξύ αναφορών και πινάκων εργαλείων για την αποτελεσματική ανάλυση και οπτικοποίηση δεδομένων.

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Ανακαλύψτε πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις και πώς μπορείτε να επωφεληθείτε από τον αποθηκευτικό χώρο των 1 TB.

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Ο υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών είναι κρίσιμος στον επιχειρηματικό κόσμο. Μάθετε πώς να χρησιμοποιείτε τις συναρτήσεις DATEDIF και NETWORKDAYS στο Excel για ακριβείς υπολογισμούς.

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Ανακαλύψτε πώς να ανανεώσετε γρήγορα τα δεδομένα του συγκεντρωτικού πίνακα στο Excel με τέσσερις αποτελεσματικές μεθόδους.

Μια μακροεντολή Excel για απόκρυψη όλων εκτός από το ενεργό φύλλο εργασίας

Μια μακροεντολή Excel για απόκρυψη όλων εκτός από το ενεργό φύλλο εργασίας

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

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

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

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Ανακαλύψτε πώς να χρησιμοποιήσετε το εργαλείο αυτόματης σύνοψης στο Word 2003 για να συνοψίσετε εγγραφές γρήγορα και αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Η συνάρτηση PROB στο Excel επιτρέπει στους χρήστες να υπολογίζουν πιθανότητες με βάση δεδομένα και πιθανότητες σχέσης, ιδανική για στατιστική ανάλυση.

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Ανακαλύψτε τι σημαίνουν τα μηνύματα σφάλματος του Solver στο Excel και πώς να τα επιλύσετε, βελτιστοποιώντας τις εργασίες σας αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Η συνάρτηση FREQUENCY στο Excel μετράει τις τιμές σε έναν πίνακα που εμπίπτουν σε ένα εύρος ή bin. Μάθετε πώς να την χρησιμοποιείτε για την κατανομή συχνότητας.