Λειτουργία DateSerial VBA | Πώς να χρησιμοποιήσετε τη λειτουργία DateSerial; (Παραδείγματα)
Λειτουργία DateSerial Excel VBA
Η συνάρτηση DateSerial στο VBA επιστρέφει την ημερομηνία από τις τιμές που παρέχονται από τους χρήστες. Πρέπει να παρέχουμε τι είναι το έτος, ποια είναι η μέρα και ποιος είναι ο μήνας. Το αποτέλεσμα θα βασίζεται στη μορφή ημερομηνίας του συστήματός σας.
Ακολουθεί η σύνταξη της συνάρτησης DATESERIAL .
# 1 - Έτος: πρέπει να εισαγάγουμε τον ακέραιο αριθμό ως τι είναι το έτος; Ενώ παρέχουμε ακέραιο αριθμό, πρέπει να έχουμε κατά νου τα πράγματα.
- Μπορούμε να παρέχουμε αριθμούς από 0 έως 9999.
- Ένας και διψήφιος αριθμός από 0 έως 99 θα αντιμετωπιστεί από το 1930 έως το 2029.
- Ο αρνητικός ακέραιος αριθμός θα αφαιρεθεί από το έτος 2000. Για παράδειγμα, εάν παρέχετε -1, το αποτέλεσμα θα είναι το 1999 λόγω του 2000 - 1 = 1999.
# 2 - Μήνας: πρέπει να εισαγάγουμε τον ακέραιο αριθμό, όπως είναι ο μήνας; Κατά την εισαγωγή αυτού του αριθμού πρέπει να έχουμε κατά νου τα πράγματα.
- Μπορούμε να παρέχουμε αριθμούς από 1 έως 12 μόνο.
- Εάν η παρεχόμενη ακέραια τιμή είναι 0 τότε αυτό θα αντιπροσωπεύει τον μήνα «Δεκέμβριο» του προηγούμενου έτους.
- Εάν η παρεχόμενη ακέραια τιμή είναι -1 τότε αυτό θα αντιπροσωπεύει τον μήνα «Νοέμβριο» του προηγούμενου έτους. Έτσι, όταν η αρνητική τιμή αυξάνεται, θα συνεχίσει να αντιπροσωπεύει τον προηγούμενο μήνα.
- Εάν ο παρεχόμενος αριθμός είναι μεγαλύτερος από 12, δηλαδή εάν ο αριθμός είναι 13, τότε θα αντιπροσωπεύει τον μήνα «Ιανουάριο» του επόμενου έτους, εάν ο αριθμός είναι 14 τότε θα αντιμετωπίζεται ως ο μήνας «Φεβρουάριος» του επόμενου έτους.
# 3 - Ημέρα: πρέπει να εισαγάγουμε τον ακέραιο αριθμό, όπως είναι η ημέρα; Κατά την εισαγωγή αυτού του αριθμού πρέπει να έχουμε κατά νου τα πράγματα.
- Μπορούμε να εισαγάγουμε ακέραιους αριθμούς από 1 έως 31 για τις τρέχουσες ημέρες του μήνα.
- Εάν ο αριθμός είναι 0, θα αντιπροσωπεύει την τελευταία ημέρα του προηγούμενου μήνα.
- Εάν ο αριθμός είναι -1, θα αντιπροσωπεύει τη δεύτερη τελευταία ημέρα του προηγούμενου μήνα.
- Εάν παρέχετε την τελευταία ημέρα αυτού του μήνα +1, τότε θα αντιπροσωπεύει την πρώτη ημέρα του επόμενου μήνα. Για παράδειγμα, εάν η τελευταία ημέρα του Αυγούστου είναι 31 και αν δώσετε την ημέρα ως 31 + 1, τότε θα αντιπροσωπεύει την πρώτη ημέρα του Σεπτεμβρίου.
Πώς να χρησιμοποιήσετε τη συνάρτηση DATESERIAL στο VBA;
Μπορείτε να κάνετε λήψη αυτού του προτύπου VBA DateSerial Excel εδώ - Πρότυπο VBA DateSerial ExcelΠαράδειγμα # 1
Για να χρησιμοποιήσετε τη συνάρτηση DATESERIAL αρχίστε να γράφετε τον μακροεντολή κώδικα.
Βήμα 1: Ξεκινήστε την υπο διαδικασία
Αρχικά, δημιουργήστε μια υποδιαδικασία VBA όπως φαίνεται παρακάτω.
Βήμα 2: Δήλωση μεταβλητής
Τώρα δηλώστε μια μεταβλητή ως DATE.
Βήμα 3: Εκχώρηση συνάρτησης DateSerial σε αυτήν τη μεταβλητή.
Τώρα για αυτήν τη μεταβλητή εκχωρήστε τη συνάρτηση DATESERIAL.
Βήμα 4: Τώρα εισαγάγετε τιμές έτους, μήνα και ημέρας στη συνάρτηση DateSerial
Για ΕΤΟΣ 2019, για MONTH προμήθεια 08 και για DAY προμήθεια 05.
Βήμα 5: Εμφάνιση αποτελεσμάτων στο πλαίσιο μηνυμάτων
Τώρα δείξτε το αποτέλεσμα της μεταβλητής "Η ημερομηνία μου" στο πλαίσιο μηνύματος.
Κώδικας:
Option Explicit Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub
Βήμα 6: Εκτελέστε τον κώδικα
Τώρα εκτελέστε αυτόν τον κωδικό για να δείτε την παρακάτω ημερομηνία.
Το αποτέλεσμα λέει «8/5/2019». Στο σύστημα μου, η μορφή ημερομηνίας έχει τη μορφή "MM-DD-YYYY", γι 'αυτό και το αποτέλεσμα είναι επίσης στην ίδια μορφή.
Μπορούμε επίσης να αλλάξουμε τη μορφή της ημερομηνίας χρησιμοποιώντας τη συνάρτηση FORMAT στο VBA. Εφαρμόστε τη συνάρτηση FORMAT όπως παρακάτω.
Κώδικας:
Option Explicit Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Format (Mydate, "DD-MMM-YYYY") End Sub
Αυτό θα εφαρμόσει τη μορφή σε "DD-MMM-YYYY" και το αποτέλεσμα έχει ως εξής.
Παράδειγμα # 2
Μπορούμε επίσης να δηλώσουμε μεταβλητές και να παρέχουμε τις τιμές σε αυτές τις μεταβλητές. Για παράδειγμα δείτε τον παρακάτω κώδικα.
Κώδικας:
Sub DateSerial_Example2 () Dim Mydate As Date Dim MyYear As Integer Dim MyMonth As Integer Dim MyDay As Integer MyYear = 2019 MyMonth = 8 MyDay = 5 Mydate = DateSerial (MyYear, MyMonth, MyDay) Μορφή MsgBox (Mydate, "DD-MMM-YY-YY ") End Sub
Αντί να παρέχουμε έτος, μήνα και ημέρα απευθείας στη συνάρτηση DATESERIAL, έχουμε δηλώσει μεταβλητές και αντιστοιχίσουμε τιμές σε αυτές. Στη συνέχεια, έχουμε παράσχει μεταβλητές στη συνάρτηση DATESERIAL.
Έτσι μπορούμε να χρησιμοποιήσουμε μεταβλητές στο VBA για να αποθηκεύσουμε τιμές.
Παράδειγμα # 3
Τώρα θα πειραματιστούμε με το έτος. Θα εκχωρήσω την τιμή του έτους ως 1 και θα δω το αποτέλεσμα.
Μονοψήφιοι και διψήφιοι αριθμοί στο ΕΤΟΣ αντιπροσωπεύουν ένα έτος από το 1930 έως το 2029. Έτσι το 01 σημαίνει το 2001, το 02 σημαίνει το 2002 και ούτω καθεξής.
Τώρα ας αλλάξουμε τον αριθμό του μήνα σε 0 και να δούμε το αποτέλεσμα.
Κοιτάξτε τον κωδικό εδώ, το έτος είναι 2019 και ο μήνας είναι 0. Αλλά κοιτάξτε το αποτέλεσμα που λέει 05-Δεκ-2019, ενώ το παρεχόμενο έτος είναι το 2019 λέει το 2018 δηλαδή το προηγούμενο έτος.
Αυτό οφείλεται στο γεγονός ότι αφού παρέχουμε τον μήνα ως συνάρτηση 0 ΗΜΕΡΟΜΗΝΙΑ παίρνει τον μήνα στον τελευταίο μήνα του προηγούμενου έτους και αλλάζουμε επίσης το έτος ανάλογα.
Έτσι δοκιμάστε διαφορετικούς αριθμούς για να δείτε την επίδραση της συνάρτησης.
Πράγματα που πρέπει να θυμάστε
- Πρέπει να γνωρίζετε ποιος αριθμός αντιπροσωπεύει ποιο έτος, μήνα και παιδικό σταθμό. Διαβάστε προσεκτικά την εξήγηση σύνταξης για να κατανοήσετε.
- Το αποτέλεσμα θα βασίζεται στη μορφή ημερομηνίας του συστήματός σας, εάν θέλετε τροποποιημένο αποτέλεσμα, τότε πρέπει να εφαρμόσετε τη συνάρτηση FORMAT, αναφέροντας τη μορφή ημερομηνίας σύμφωνα με την ευκολία σας.