Λειτουργία 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;

Παράδειγμα # 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

Instead of supplying year, month, and day directly to the DATESERIAL function, we have declared variables and assigned values to them. Then later, we have supplied variables to the DATESERIAL function.

This is how we can make use of variables in VBA to store values.

Example #3

Now we will experiment with the year. I will assign the year value as 1 and see the result.

Single & Double-digit numbers in YEAR represents a year from 1930 to 2029. So 01 means 2001, 02 means 2002, and so on.

Now let’s change the month number to 0 and see the result.

Look at the code here, Year is 2019, and the month is 0. But look at the result it says 05-Dec-2019, whereas a supplied year is 2019 it says 2018 i.e., the previous year.

Αυτό οφείλεται στο γεγονός ότι αφού παρέχουμε τον μήνα ως συνάρτηση 0 ΗΜΕΡΟΜΗΝΙΑ παίρνει τον μήνα στον τελευταίο μήνα του προηγούμενου έτους και αλλάζουμε επίσης το έτος ανάλογα.

Έτσι, δοκιμάστε διαφορετικούς αριθμούς για να δείτε την επίδραση της συνάρτησης.

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

  • Πρέπει να γνωρίζετε ποιος αριθμός αντιπροσωπεύει ποιο έτος, μήνα και παιδικό σταθμό. Διαβάστε προσεκτικά την εξήγηση σύνταξης για να κατανοήσετε.
  • Το αποτέλεσμα θα βασίζεται στη μορφή ημερομηνίας του συστήματός σας. Εάν θέλετε ένα τροποποιημένο αποτέλεσμα, τότε πρέπει να εφαρμόσετε τη συνάρτηση FORMAT αναφέροντας τη μορφή ημερομηνίας σύμφωνα με την ευκολία σας.

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