Ημερομηνία VBA - Πώς να χρησιμοποιήσετε τη λειτουργία Excel VBA IsDate;

Πίνακας περιεχομένων

Συνάρτηση Excel VBA IsDate

Το IsDate είναι η συνάρτηση VBA που ελέγχει εάν η δεδομένη τιμή είναι η ημερομηνία ή όχι. Εάν η παρεχόμενη τιμή ή τιμή αναφοράς εύρους είναι τιμή ημερομηνίας, τότε θα έχουμε το αποτέλεσμα ως "ΑΛΗΘΕΙΑ", εάν η τιμή δεν είναι τιμή ημερομηνίας, τότε θα έχουμε το αποτέλεσμα ως "ΛΑΘΟΣ". Έτσι, το αποτέλεσμα είναι η τιμή BOOLEAN, δηλαδή είτε ΑΛΗΘΗ ή ΛΑΘΟΣ.

Παρακάτω είναι η σύνταξη της συνάρτησης IsDate.

Η έκφραση δεν είναι παρά την αξία που προσπαθούμε να δοκιμάσουμε, είτε είναι η ημερομηνία είτε όχι.

Πώς να χρησιμοποιήσετε τη λειτουργία VBA IsDate;

Θα ελέγξουμε εάν η τιμή "5.01.19" είναι τιμή ημερομηνίας ή όχι.

Για αυτήν την πρώτη εκκίνηση, η διαδικασία μακροεντολής excel.

Κώδικας:

Sub IsDate_Example1 () End Sub

Ορίστε τη μεταβλητή για να αποθηκεύσετε την τιμή ημερομηνίας και επειδή η τιμή θα είναι τιμή ημερομηνίας, ορίστε τον τύπο δεδομένων ως "Ημερομηνία" μόνο.

Κώδικας:

Sub IsDate_Example1 () Dim MyDate ως ημερομηνία λήξης Υπο

Τώρα αντιστοιχίστε την τιμή "5.1.19" στη μεταβλητή "MyDate".

Κώδικας:

Sub IsDate_Example1 () Dim MyDate ως ημερομηνία MyDate = "5.1.19" End Sub

Ανοίξτε το πλαίσιο μηνυμάτων στο VBA τώρα.

Κώδικας:

Sub IsDate_Example1 () Dim MyDate ως ημερομηνία MyDate = "5.1.19" MsgBox (End Sub

Σε αυτό το πλαίσιο μηνύματος, θα ελέγξουμε εάν η παρεχόμενη τιμή ημερομηνίας στη μεταβλητή "MyDate" είναι η ημερομηνία ή όχι χρησιμοποιώντας τη συνάρτηση "IsDate". Αρχικά, ανοίξτε τη λειτουργία "IsDate".

Κώδικας:

Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (End Sub

Η έκφραση είναι η τιμή που δοκιμάζουμε για να διαπιστώσουμε αν είναι Ημερομηνία ή όχι. Εφόσον έχουμε ήδη αποθηκεύσει την τιμή στη μεταβλητή "MyDate", παρέχετε μόνο το όνομα της μεταβλητής.

Κώδικας:

Sub IsDate_Example1 () Dim MyDate ως ημερομηνία MyDate = "5.1.19" MsgBox IsDate (MyDate) End Sub

Εντάξει, τρέξτε τώρα τον κωδικό και δείτε τι λαμβάνουμε στο πλαίσιο μηνυμάτων.

Ουάου!!! Το αποτέλεσμα είναι αληθινό .

Πρέπει να αναρωτιέστε πώς αναγνώρισε την τιμή "5.1.19" ως ημερομηνία.

Ο λόγος για τον οποίο επέστρεψε το αποτέλεσμα ως Αληθινό γιατί όταν κοιτάζετε τη δεδομένη τιμή "5.1.19" , είναι η σύντομη μορφή της ημερομηνίας "05.01.2019", οπότε το excel είναι αρκετά λαμπρό για να το αναγνωρίσει ως ημερομηνία, έτσι το αποτέλεσμα είναι αληθινό.

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

Κώδικας:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub

Τώρα εκτελέστε τον κωδικό και δείτε το αποτέλεσμα.

Αυτή τη φορά επέστρεψε το αποτέλεσμα ως FALSE επειδή το τμήμα "ημέρα και μήνας" της ημερομηνίας είναι σε σύντομη μορφή, αλλά το μέρος του έτους είναι σε πλήρη μορφή "YYYY", οπότε το ISDATE δεν μπορεί να αναγνωρίσει ότι έχει ημερομηνία, επομένως το αποτέλεσμα είναι ΛΑΘΟΣ.

Τώρα, δείτε τον παρακάτω κώδικα.

Κώδικας:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub

Έχω αναφέρει μια μορφή πλήρους ημέρας και πλήρους μήνα χρησιμοποιώντας το 0. Ας εκτελέσουμε τον κώδικα και να δούμε το αποτέλεσμα της συνάρτησης IsDate.

Αυτή τη φορά πάμε πήραμε το αποτέλεσμα ως FALSE .

Τώρα αλλάξτε τον κωδικό ως εξής.

Κώδικας:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019" MsgBox IsDate (MyDate) End Sub

Αντί για την τελεία (.) Ως διαχωριστικό, εισαγάγαμε προς τα εμπρός-κάθετο (/) ως διαχωριστικό. Τώρα εκτελέστε τον κωδικό και δείτε το αποτέλεσμα.

Αυτή τη φορά έχουμε το αποτέλεσμα ως Αληθινό .

Αυτός είναι ο λόγος που σας έχω πει στην αρχή του άρθρου ότι το "Date" είναι ένα ευαίσθητο πράγμα.

Τώρα αυτό που θα κάνω είναι να συγχωνεύσω την ημερομηνία και την ώρα μαζί.

Κώδικας:

Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) End Sub

Αυτό που έχω προσθέσει παραπάνω είναι το χρονικό τμήμα του "15:26:24" μπροστά από την ημερομηνία. Τώρα εκτελέστε τον κωδικό και δείτε το αποτέλεσμα.

Αυτή τη φορά επίσης, λάβαμε το αποτέλεσμα ως Αληθινό, επειδή η DATE & TIME στο excel είναι τα ίδια πράγματα και αποθηκεύονται ως σειριακοί αριθμοί. Ο ολόκληρος αριθμός αντιπροσωπεύει το τμήμα ημερομηνίας και τα δεκαδικά ψηφία αντιπροσωπεύουν το τμήμα ώρας

Πράγματα που πρέπει να θυμάστε εδώ

  • Το IsDate επιστρέφει το αποτέλεσμα τύπου Boolean, δηλαδή είτε TRUE είτε FALSE.
  • Το IsDate είναι διαθέσιμο μόνο ως λειτουργία VBA.
  • Μόνο έγκυρες μορφοποιημένες ημερομηνίες αντιμετωπίζονται ως ημερομηνία, αλλιώς θα αντιμετωπίζονται ως τιμές κειμένου και θα επιστρέφουν το αποτέλεσμα ως FALSE.

ενδιαφέροντα άρθρα...