Συνάρτηση ημερομηνίας VBA (12 χρήσεις μακροεντολών με παραδείγματα)

  • Μοιραστείτε Αυτό
Hugh West

Στην εφαρμογή Microsoft Visual Basic, οι συναρτήσεις ημερομηνίας ή οποιεσδήποτε έννοιες που σχετίζονται με την ημερομηνία είναι απαραίτητες για την εκτέλεση διαφόρων λειτουργιών στο σύνολο δεδομένων σας. Μπορεί να βρεθείτε σε διάφορες καταστάσεις όπου θα πρέπει να χρησιμοποιήσετε αυτές τις συναρτήσεις. Σε αυτό το σεμινάριο, θα μάθετε για τη συνάρτηση ημερομηνίας της VBA με κατάλληλα παραδείγματα και κατάλληλες απεικονίσεις. Επίσης, θα σας παρέχουμε πολλαπλές συναρτήσεις ημερομηνίαςπου μπορείτε να εφαρμόσετε στο φύλλο εργασίας σας.

Κατεβάστε το βιβλίο ασκήσεων

Χρήσεις της VBA Date.xlsm

Εισαγωγή στη συνάρτηση ημερομηνίας της VBA

Το Excel κατηγοριοποιεί τις Ημερομηνίες στο Ημερομηνία/Ώρα Είναι μια ενσωματωμένη συνάρτηση. Μπορούμε να τη χρησιμοποιήσουμε σε μακροεντολές της VBA για να εκτελέσουμε οποιεσδήποτε λειτουργίες που σχετίζονται με την ημερομηνία.

Πριν ξεκινήσετε με τη λειτουργία Date, θα πρέπει να ξέρετε για το Μεταβλητές ημερομηνίας στην VBA .

⏺ Σύνταξη

Date()

⏺ Επιχειρήματα Επεξηγήσεις

Δεν υπάρχουν επιχειρήματα.

⏺ Επιστροφές

Επιστρέφει την τρέχουσα ημερομηνία.

⏺ Διαθέσιμο σε

Excel για το Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2011 για Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000

⏺ Παράδειγμα

Όπως γνωρίζετε, δεν υπάρχουν επιχειρήματα, μπορείτε απλώς να το εισάγετε όπως παρακάτω:

 Sub vba_date() Dim current_date As Date current_date = Date MsgBox current_date End Sub 

Όταν δουλεύουμε με τη συνάρτηση Date, δεν δίνουμε καμία παρένθεση στους κώδικες VBA, όπως σε αυτό το παράδειγμα.

Έξοδος :

12 συναρτήσεις ημερομηνίας στη VBA που πρέπει να μάθετε

Τώρα, στις επόμενες ενότητες, θα σας παρουσιάσουμε μερικές πρόσθετες συναρτήσεις ημερομηνίας που μπορείτε να χρησιμοποιήσετε για πολυάριθμους σκοπούς στην VBA. Διαβάστε αυτές τις ενότητες για να μάθετε κάθε πιθανό τρόπο εργασίας με την ημερομηνία στην VBA. Σας προτείνουμε να τις κρατήσετε στο οπλοστάσιό σας. Σίγουρα θα βελτιώσουν τις γνώσεις σας.

1. Συνάρτηση DateAdd ως ημερομηνία στην VBA

Στη VBA, χρησιμοποιούμε τη συνάρτηση DateAdd για να προσθέσουμε ημέρες σε μια συγκεκριμένη ημερομηνία. Μετά από αυτό, θα επιστρέψει την ημερομηνία που προκύπτει.

Σύνταξη:

DateAdd(διάστημα, αριθμός, ημερομηνία)

Επιχειρήματα:

διάστημα: Η έκφραση String είναι το χρονικό διάστημα που θέλετε να προσθέσετε.

αριθμός: Απαιτείται. Είναι μια αριθμητική έκφραση που είναι ο αριθμός των διαστημάτων που θέλετε να προσθέσετε. Μπορεί να είναι θετική (για να λάβετε ημερομηνίες στο μέλλον) ή αρνητική (για να λάβετε ημερομηνίες στο παρελθόν).

ημερομηνία: Η αρχική ημερομηνία/ώρα.

Τώρα, η διάστημα τα ορίσματα μπορούν να έχουν τις ακόλουθες ρυθμίσεις:

yyyy - Έτος

q - Τρίμηνο

m - Μήνας

y - Ημέρα του έτους

d - Ημέρα

w - Ημέρα της εβδομάδας

ww - Εβδομάδα

h - Ώρα

n - Λεπτό

s - Δεύτερο

Απόσπασμα κώδικα :

 Sub dateadd_function() Dim result_Date As Date result_Date = DateAdd("d", 15, "1/31/2022") MsgBox result_Date End Sub 

Έξοδος:

Όπως μπορείτε να δείτε, προστέθηκαν 15 ημερομηνίες στην τρέχουσα ημερομηνία στην VBA.

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε τη συνάρτηση IsDate στη VBA (3 παραδείγματα)

2. Συνάρτηση DateDiff στη VBA

Η συνάρτηση DateDiff επιστρέφει μια μεταβλητή (Long) που καθορίζει τον αριθμό των χρονικών διαφορών μεταξύ δύο καθορισμένων ημερομηνιών.

Σύνταξη :

DateDiff(interval, date1, date2, [ firstdayofweek, [ firstweekofyear ]] )

Επιχειρήματα:

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

date1,date2 : Υποχρεωτική- Μεταβλητή (Ημερομηνία). Δύο ημερομηνίες που θέλετε να χρησιμοποιήσετε στον υπολογισμό.

firstdayofweek: Προαιρετική. Μια σταθερά που ορίζει την πρώτη ημέρα της εβδομάδας. Αν δεν είναι σταθερή, θεωρείται ότι είναι η Κυριακή.

πρώτη εβδομάδα του έτους: Προαιρετική. Μια σταθερά που καθορίζει την πρώτη εβδομάδα του έτους. Εάν δεν οριστεί, η πρώτη εβδομάδα υποτίθεται ότι είναι η εβδομάδα στην οποία εμφανίζεται η 1η Ιανουαρίου.

Τώρα, η διάστημα τα ορίσματα μπορούν να έχουν τις ακόλουθες ρυθμίσεις:

yyyy - Έτος

q - Τρίμηνο

m - Μήνας

y - Ημέρα του έτους

d - Ημέρα

w - Ημέρα της εβδομάδας

ww - Εβδομάδα

h - Ώρα

n - Λεπτό

s - Δεύτερο

Το firstdayofweek έχει αυτές τις ρυθμίσεις:

vbSunday - χρησιμοποιεί την Κυριακή ως την πρώτη ημέρα της εβδομάδας.

vbMonday - χρησιμοποιεί τη Δευτέρα ως πρώτη ημέρα της εβδομάδας.

vbTuesday - λειτουργεί την Τρίτη ως πρώτη ημέρα της εβδομάδας.

vbWednesday - χρησιμοποιεί την Τετάρτη ως πρώτη ημέρα της εβδομάδας.

vbThursday - λειτουργεί την Πέμπτη ως την ημέρα της εβδομάδας.

vbFriday - χρησιμοποιεί την Παρασκευή ως πρώτη ημέρα της εβδομάδας.

vbSaturday - λειτουργεί το Σάββατο ως πρώτη ημέρα της εβδομάδας.

vbUseSystemDayOfTheWeek - χρησιμοποιεί την πρώτη ημέρα της εβδομάδας που ορίζεται από τη ρύθμιση της συσκευής σας.

Το firstweekofyear έχει αυτές τις ρυθμίσεις:

vbFirstJan1 - χρησιμοποιεί την εβδομάδα που περιέχει την 1η Ιανουαρίου.

vbFirstFourDays - απασχολεί την πρώτη εβδομάδα που έχει τουλάχιστον τέσσερις ημέρες στο νέο έτος.

vbFirstFullWeek - λειτουργεί την πρώτη πλήρη εβδομάδα του έτους.

vbSystem - χρησιμοποιεί την πρώτη εβδομάδα του έτους, όπως ορίζεται από τις τοποθεσίες της συσκευής σας.

Απόσπασμα κώδικα:

 Sub DateDiff_Function() Dim result As Long result = DateDiff("d", "1/31/2022", "2/12/2022") MsgBox result End Sub 

Έξοδος :

Στο τέλος, επιστρέφει τη διαφορά μεταξύ των δύο ημερομηνιών σε VBA.

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε τη συνάρτηση DateDiff της VBA στο Excel (9 παραδείγματα)

3. DatePart Λειτουργία ως ημερομηνία

Η συνάρτηση DatePart επιστρέφει μια μεταβλητή (Integer) που περιέχει το καθορισμένο μέρος μιας παρεχόμενης ημερομηνίας.

Σύνταξη :

DatePart(interval, date, [ firstdayofweek, [ firstweekofyear ]])

Επιχειρήματα:

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

ημερομηνία: Υποχρεωτική- Παραλλαγή (Ημερομηνία). Η ημερομηνία που θέλετε να χρησιμοποιήσετε στον υπολογισμό.

firstdayofweek: Προαιρετική. Μια σταθερά που ορίζει την πρώτη ημέρα της εβδομάδας. Αν δεν είναι σταθερή, θεωρείται ότι είναι η Κυριακή.

πρώτη εβδομάδα του έτους: Προαιρετική. Μια σταθερά που καθορίζει την πρώτη εβδομάδα του έτους. Εάν δεν οριστεί, η πρώτη εβδομάδα υποτίθεται ότι είναι η εβδομάδα στην οποία εμφανίζεται η 1η Ιανουαρίου.

Τώρα, η διάστημα τα ορίσματα μπορούν να έχουν τις ακόλουθες ρυθμίσεις:

yyyy - Έτος

q - Τρίμηνο

m - Μήνας

y - Ημέρα του έτους

d - Ημέρα

w - Ημέρα της εβδομάδας

ww - Εβδομάδα

h - Ώρα

n - Λεπτό

s - Δεύτερο

Το firstdayofweek έχει αυτές τις ρυθμίσεις:

vbSunday - χρησιμοποιεί την Κυριακή ως την πρώτη ημέρα της εβδομάδας.

vbMonday - χρησιμοποιεί τη Δευτέρα ως την πρώτη ημέρα της εβδομάδας.

vbTuesday - λειτουργεί την Τρίτη ως πρώτη ημέρα της εβδομάδας.

vbWednesday - χρησιμοποιεί την Τετάρτη ως πρώτη ημέρα της εβδομάδας.

vbThursday - λειτουργεί την Πέμπτη ως την ημέρα της εβδομάδας.

vbFriday - χρησιμοποιεί την Παρασκευή ως πρώτη ημέρα της εβδομάδας.

vbSaturday - λειτουργεί το Σάββατο ως πρώτη ημέρα της εβδομάδας.

vbUseSystemDayOfTheWeek - χρησιμοποιεί την πρώτη ημέρα της εβδομάδας που ορίζεται από τη ρύθμιση της συσκευής σας.

Το firstweekofyear έχει αυτές τις τιμές:

vbFirstJan1 - λειτουργεί την εβδομάδα συμπεριλαμβανομένης της 1ης Ιανουαρίου.

vbFirstFourDays - χρησιμοποιεί την πρώτη εβδομάδα που διαθέτει το πολύ υποδεέστερες τέσσερις ημέρες το νέο έτος.

vbFirstFullWeek - χρησιμοποιεί την πρώτη πλήρη εβδομάδα του έτους.

vbSystem - απασχολεί την πρώτη εβδομάδα του έτους, όπως επιλέγεται από τις τοποθεσίες της συσκευής σας.

Απόσπασμα κώδικα :

 Sub DatePart_Function() Dim result As Integer result = DatePart("m", "10/11/2022") MsgBox result End Sub 

Έξοδος :

Με αυτόν τον τρόπο, μπορείτε να χρησιμοποιήσετε αυτή τη συνάρτηση ημερομηνίας σε κώδικες VBA.

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε τη λειτουργία FileDateTime της VBA στο Excel (3 χρήσεις)

4. Λειτουργία DateSerial

Μπορείτε να δείτε μια ημερομηνία που βασίζεται σε ένα έτος, ένα μήνα και μια ημέρα εισαγωγής χρησιμοποιώντας το The DateSerial λειτουργία.

Σύνταξη:

DateSerial(έτος, μήνας, ημέρα)

Επιχειρήματα:

έτος - Υποχρεωτικό πεδίο. Ένας αριθμός μεταξύ 100 και 9999, συμπεριλαμβανομένου, ή μια αριθμητική έκφραση που συμβολίζει το έτος.

μήνας - Υποχρεωτικό πεδίο. Μια ακέραια τιμή που ορίζει τον μήνα.

ημέρα - Υποχρεωτικό πεδίο. Μια ακέραια τιμή που περιγράφει την ημέρα.

Απόσπασμα κώδικα:

 Sub date_serial() Dim date_special As Date date_special = DateSerial(2022, 1, 11) MsgBox date_special End Sub 

Έξοδος :

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το TimeSerial της VBA στο Excel (3 παραδείγματα)

4. Συνάρτηση DateValue της VBA

Τώρα, χρησιμοποιούμε τη συνάρτηση DateValue για να ορίσουμε μια ημερομηνία.

Σύνταξη :

DateValue(ημερομηνία)

Επιχειρήματα:

Εδώ, η ημερομηνία το όρισμα είναι συνήθως μια έκφραση συμβολοσειράς που περιγράφει μια ημερομηνία από την 1η Ιανουαρίου 100 έως την 31η Δεκεμβρίου 9999. Ανεξάρτητα από αυτό, η ημερομηνία μπορεί επιπλέον να είναι οποιαδήποτε έκφραση που μπορεί να συμβολίζει μια ημερομηνία, μια ώρα ή τόσο μια ημερομηνία όσο και μια ώρα σε αυτό το εύρος.

Απόσπασμα κώδικα:

 Sub Date_value() Dim result As Date result = DateValue("Ιανουάριος, 10, 2022") MsgBox result End Sub 

Έξοδος :

Όπως μπορείτε να δείτε, χρησιμοποιήσαμε με επιτυχία τη συνάρτηση ημερομηνίας σε κώδικες VBA.

5. Συνάρτηση ημέρας στη VBA

Επιστρέφει μια μεταβλητή (Integer) που προσδιορίζει έναν πραγματικό αριθμό μεταξύ 1 και 31, συμπεριλαμβανομένου, που μεταφέρει την ημέρα του μήνα.

Σύνταξη :

Ημέρα(ημερομηνία)

Επιχειρήματα:

Το απαιτούμενο όρισμα ημερομηνίας είναι οποιαδήποτε μεταβλητή, αριθμητική έκφραση, έκφραση συμβολοσειράς ή οποιοσδήποτε συνδυασμός. Αντιπροσωπεύει μια ημερομηνία. Εάν η ημερομηνία περιλαμβάνει Null, θα επιστρέψει επίσης Null.

Απόσπασμα κώδικα:

 Sub day_function() Dim date1, the_day date1 = #12/12/2023# the_day = Day(date1) MsgBox the_day End Sub 

Έξοδος:

Όπως μπορείτε να δείτε, χρησιμοποιώντας τους κώδικες VBA διαπιστώσαμε ότι η ημέρα της συγκεκριμένης ημερομηνίας είναι η 12η.

Σχετικό περιεχόμενο: Λειτουργία μορφοποίησης VBA στο Excel (8 χρήσεις με παραδείγματα)

6. Λειτουργία μήνα VBA ως ημερομηνία

Επιστρέφει μια μεταβλητή (ακέραιος αριθμός) που ορίζει έναν πραγματικό αριθμό μεταξύ 1 και 12, συμπεριλαμβανομένου, ο οποίος μεταφέρει τον μήνα του έτους.

Σύνταξη :

Μήνας(ημερομηνία)

Επιχειρήματα:

Το απαιτούμενο όρισμα ημερομηνίας είναι οποιαδήποτε μεταβλητή, αριθμητική έκφραση, έκφραση συμβολοσειράς ή οποιοσδήποτε συνδυασμός. Αντιπροσωπεύει μια ημερομηνία. Εάν η ημερομηνία περιλαμβάνει Null, θα επιστρέψει επίσης Null.

Απόσπασμα κώδικα:

 Sub month_function() Dim date1, the_month date1 = #12/12/2023# the_month = Month(date1) MsgBox the_month End Sub 

Έξοδος:

Σχετικό περιεχόμενο: Πώς να χρησιμοποιήσετε τη σωστή συνάρτηση VBA στο Excel (6 παραδείγματα)

Παρόμοιες αναγνώσεις

  • Πώς να χρησιμοποιήσετε τη συνάρτηση Environ της VBA (4 παραδείγματα)
  • Πώς να χρησιμοποιήσετε το VBA και τη λειτουργία στο Excel (4 παραδείγματα)
  • Δήλωση VBA If - Then - Else στο Excel (4 παραδείγματα)
  • Πώς να χρησιμοποιήσετε τη συνάρτηση VBA Abs στο Excel (9 παραδείγματα)
  • Πώς να χρησιμοποιήσετε τη συνένωση στο Excel VBA (4 μέθοδοι)

7. Λειτουργία MonthName

Επιστρέφει μια συμβολοσειρά που δείχνει τον καθορισμένο μήνα.

Σύνταξη :

MonthName(month, [ abbreviate ])

Επιχειρήματα:

μήνα: Απαιτείται. Ο αριθμητικός τίτλος του μήνα. Για παράδειγμα, ο Ιανουάριος είναι 1, ο Φεβρουάριος είναι 2 κ.ο.κ.

συντομογραφία: Είναι προαιρετική. τιμή Boolean που δείχνει αν το όνομα του μήνα πρέπει να είναι συντομογραφημένο. Αν παραλειφθεί, η προεπιλογή είναι False, που υποδηλώνει ότι το όνομα του μήνα δεν είναι συντομογραφημένο.

Απόσπασμα κώδικα:

 Sub MonthName_Function() Dim month_name As String month_name = MonthName(9, True) MsgBox month_name End Sub 

Έξοδος:

Όπως μπορείτε να δείτε, βρήκαμε το όνομα του μήνα με αυτή τη συνάρτηση ημερομηνίας της VBA.

8. Λειτουργία καθημερινής ημέρας

Επιστρέφει ένα Παραλλαγή ( Ακέραιος αριθμός ) που διαθέτει έναν πραγματικό αριθμό που εκφράζει την ημέρα της εβδομάδας.

Σύνταξη :

Weekday(date, [ firstdayofweek ])

Επιχειρήματα:

ημερομηνία: Το απαιτούμενο όρισμα ημερομηνίας είναι οποιαδήποτε μεταβλητή, αριθμητική έκφραση, έκφραση συμβολοσειράς ή οποιοσδήποτε συνδυασμός. Αντιπροσωπεύει μια ημερομηνία. Εάν η ημερομηνία περιλαμβάνει Null, θα επιστρέψει επίσης Null.

firstdayofweek: Προαιρετική. Μια σταθερά που ορίζει την πρώτη ημέρα της εβδομάδας. Αν δεν είναι σταθερή, θεωρείται ότι είναι η Κυριακή.

Το firstdayofweek έχει αυτές τις ρυθμίσεις:

vbSunday - χρησιμοποιεί την Κυριακή ως την πρώτη ημέρα της εβδομάδας.

vbMonday - χρησιμοποιεί τη Δευτέρα ως πρώτη ημέρα της εβδομάδας.

vbTuesday - λειτουργεί την Τρίτη ως πρώτη ημέρα της εβδομάδας.

vbWednesday - χρησιμοποιεί την Τετάρτη ως πρώτη ημέρα της εβδομάδας.

vbThursday - λειτουργεί την Πέμπτη ως την ημέρα της εβδομάδας.

vbFriday - χρησιμοποιεί την Παρασκευή ως πρώτη ημέρα της εβδομάδας.

vbSaturday - λειτουργεί το Σάββατο ως πρώτη ημέρα της εβδομάδας.

vbUseSystemDayOfTheWeek - χρησιμοποιεί την πρώτη ημέρα της εβδομάδας που ορίζεται από τη ρύθμιση της συσκευής σας.

Παράμετροι επιστροφής

Τώρα, αυτή η συνάρτηση επιστρέφει έναν ακέραιο αριθμό. Έτσι, η σημασία αυτών των ακέραιων αριθμών είναι η ακόλουθη:

1 - Κυριακή

2 - Δευτέρα

3 - Τρίτη

4 - Τετάρτη

5 - Πέμπτη

6 - Παρασκευή

7 - Σάββατο

Απόσπασμα κώδικα:

 Sub Weekday_Function() Dim week_day As Integer week_day = Weekday("4/27/2022") MsgBox week_day End Sub 

Έξοδος:

Όπως μπορείτε να δείτε, η συνάρτηση ημερομηνίας της VBA επιστρέφει 4. Αυτό σημαίνει Τετάρτη.

Σχετικό περιεχόμενο: Πώς να χρησιμοποιήσετε τη συνάρτηση Fix στο Excel VBA (4 παραδείγματα)

9. Συνάρτηση VBA WeekdayName

Επιστρέφει μια συμβολοσειρά που εμφανίζει την περιορισμένη ημέρα της εβδομάδας.

Σύνταξη :

WeekdayName(weekday, abbreviate, firstdayofweek)

Επιχειρήματα:

καθημερινή: Υποχρεωτικό πεδίο. Ο αριθμητικός προσδιορισμός για την ημέρα της εβδομάδας. Η αριθμητική τιμή κάθε ημέρας εξαρτάται από τη ρύθμιση της ρύθμισης firstdayofweek.

συντομογραφία: Αυτό είναι προαιρετικό. Boolean τιμή που υποδηλώνει εάν το όνομα της ημέρας εβδομάδας πρέπει να συντομευτεί. Εάν παραλειφθεί, η προεπιλογή είναι False, που σημαίνει ότι το όνομα της ημέρας εβδομάδας δεν συντομεύεται ή δεν μειώνεται.

firstdayofweek: Προαιρετικό πεδίο. Αριθμητική τιμή που δηλώνει την πρώτη ημέρα της εβδομάδας. Μπορεί να έχει διάφορες τιμές.

Το firstdayofweek μπορεί να έχει τις ακόλουθες τιμές:

vbSunday - χρησιμοποιεί την Κυριακή ως την πρώτη ημέρα της εβδομάδας.

vbMonday - χρησιμοποιεί τη Δευτέρα ως την πρώτη ημέρα της εβδομάδας.

vbTuesday - λειτουργεί την Τρίτη ως πρώτη ημέρα της εβδομάδας.

vbWednesday - χρησιμοποιεί την Τετάρτη ως την πρώτη ημέρα της εβδομάδας.

vbThursday - λειτουργεί την Πέμπτη ως την ημέρα της εβδομάδας.

vbFriday - χρησιμοποιεί την Παρασκευή ως πρώτη ημέρα της εβδομάδας.

vbSaturday - λειτουργεί το Σάββατο ως πρώτη ημέρα της εβδομάδας.

vbUseSystemDayOfTheWeek - χρησιμοποιεί την πρώτη ημέρα της εβδομάδας που ορίζεται από τη ρύθμιση της συσκευής σας.

Απόσπασμα κώδικα:

 Sub WeekdayName_Function() Dim weekday_name As String weekday_name = WeekdayName(6) MsgBox weekday_name End Sub 

Έξοδος:

Όπως μπορείτε να δείτε, οι παραπάνω κώδικες VBA εμφανίζουν το όνομα της ημέρας της εβδομάδας.

Σχετικό περιεχόμενο: Πώς να χρησιμοποιήσετε τη συνάρτηση VBA WeekdayName στο Excel (2 παραδείγματα)

10. Συνάρτηση έτους στην VBA Date

Επιστρέφει μια μεταβλητή (Integer) με έναν πραγματικό αριθμό που εκφράζει το έτος.

Σύνταξη :

Έτος(ημερομηνία)

Επιχειρήματα:

Το απαιτούμενο όρισμα ημερομηνίας είναι οποιαδήποτε μεταβλητή, αριθμητική έκφραση, έκφραση συμβολοσειράς ή οποιοσδήποτε συνδυασμός. Αντιπροσωπεύει μια ημερομηνία. Εάν η ημερομηνία περιλαμβάνει Null, θα επιστρέψει επίσης Null.

Απόσπασμα κώδικα:

 Sub year_function() Dim date1, the_year date1 = #12/12/2023# the_year = Year(date1) MsgBox the_year End Sub 

Έξοδος:

Εδώ μπορείτε να δείτε το έτος της δεδομένης ημερομηνίας μετά την εφαρμογή του κώδικα VBA.

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε τη λειτουργία αντικατάστασης VBA στο Excel (11 εφαρμογές)

11. Λειτουργία FormatDateTime

Αυτή η συνάρτηση επιστρέφει μια έκφραση μορφοποιημένη ως ημερομηνία ή ώρα.

Σύνταξη :

FormatDateTime(Date, [ NamedFormat ])

Επιχειρήματα:

Ημερομηνία: Υποχρεωτικό πεδίο. Έκφραση ημερομηνίας προς μορφοποίηση.

NamedFormat: Είναι προαιρετική. Είναι μια αριθμητική τιμή που εμφανίζει τη μορφή ημερομηνίας/ώρας. Αν παραλειφθεί, χρησιμοποιείται το vbGeneralDate .

Το NamedFormat μπορεί να έχει τις ακόλουθες τιμές:

vbGeneralDate(0): Εμφάνιση ημερομηνίας και/ή ώρας. Εάν υπάρχει μέρος ημερομηνίας, εκφράστε το ως σύντομη ημερομηνία. Εάν υπάρχει μέρος ώρας, εμφανίστε το ως μεγάλη ώρα. Και τα δύο μέρη εκτίθενται εάν υπάρχουν.

vbLongDate(1): Παρουσιάστε μια ημερομηνία χρησιμοποιώντας τη διαμόρφωση μακράς ημερομηνίας που έχει επιλεγεί στις περιφερειακές ρυθμίσεις του υπολογιστή σας.

vbShortDate(2): Εμφανίστε μια ημερομηνία χρησιμοποιώντας τη σύντομη μορφή ημερομηνίας που καθορίζεται στις περιφερειακές ρυθμίσεις του υπολογιστή σας.

vbLongTime(3): Εμφανίστε μια ώρα χρησιμοποιώντας τη μορφή ώρας που καθορίζεται στις περιφερειακές ρυθμίσεις του υπολογιστή σας.

vbShortTime(4): Εμφανίστε μια ώρα χρησιμοποιώντας τη μορφή 24 ωρών (hh:mm).

Απόσπασμα κώδικα:

 Sub FormatDateTime_Function() d = ("2022-02-03 18:25") MsgBox ("Format 1 : " &? FormatDateTime(d)) MsgBox ("Format 2 : " & FormatDateTime(d, 1)) MsgBox ("Format 3 : " & FormatDateTime(d, 2)) MsgBox ("Format 4 : " & FormatDateTime(d, 3)) MsgBox ("Format 5 : " & FormatDateTime(d, 4)) End Sub 

Έξοδος:

Μετά την εκτέλεση του κώδικα θα δείτε τα ακόλουθα παράθυρα διαλόγου:

Εδώ, μπορείτε να δείτε όλες τις μορφές ώρας και ημερομηνίας στην VBA.

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε τη συνάρτηση TimeValue της VBA (6 σχετικά παραδείγματα)

12. Λειτουργία CDate της VBA

Η συνάρτηση μετατρέπει μια έγκυρη έκφραση ημερομηνίας και ώρας σε μια τυπική ημερομηνία.

Σύνταξη :

CDate(ημερομηνία)

Επιχειρήματα:

Το απαιτούμενο όρισμα ημερομηνίας είναι οποιαδήποτε μεταβλητή, αριθμητική έκφραση, έκφραση συμβολοσειράς ή οποιοσδήποτε συνδυασμός. Αντιπροσωπεύει μια ημερομηνία. Εάν η ημερομηνία περιλαμβάνει Null, θα επιστρέψει επίσης Null.

Απόσπασμα κώδικα:

 Sub Cdate_Function() Dim date1 As Variant Dim date2 As Variant date1 = CDate("Mar 11 Mar 2022") date2 = CDate("29 Sep 2023") MsgBox ("Πρώτη ημερομηνία : " & date1 &- vbCrLf &- "Δεύτερη ημερομηνία : " &- date2) End Sub 

Έξοδος:

Όπως μπορείτε να δείτε, ο κώδικάς μας VBA μόλις επέστρεψε μια τυπική μορφή ημερομηνίας του Excel.

Σχετικό περιεχόμενο: Πώς να χρησιμοποιήσετε τη λειτουργία DIR της VBA στο Excel (7 παραδείγματα)

Παραδείγματα ημερομηνίας VBA

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

1. Υπολογισμός των ημερών καθυστέρησης με χρήση ημερομηνίας στην VBA

Η σημασία του overdue είναι να συμβαίνει αργά ή μετά την παρέλευση της προθεσμίας. Αργά, ιδιαίτερα, μετά την παρέλευση μιας προθεσμίας ή πολύ αργά για την εκπλήρωση μιας απαίτησης.

Ας υποθέσουμε ότι πρέπει να υποβάλετε μια εργασία που λήγει την Κυριακή. Αλλά είναι Τρίτη και δεν την έχετε υποβάλει. Μπορείτε να το ονομάσετε δύο ημέρες καθυστέρησης.

Ρίξτε μια ματιά στο ακόλουθο σύνολο δεδομένων:

Εδώ, έχουμε ένα σύνολο δεδομένων με ορισμένους μαθητές και την ημερομηνία υποβολής της εργασίας τους. Μπορείτε να δείτε την τελευταία ημερομηνία υποβολής. Στόχος μας είναι να βρούμε την ημερομηνία καθυστέρησης με βάση την ημερομηνία υποβολής. Τώρα, για να το πετύχουμε αυτό, ακολουθήστε τα παρακάτω βήματα:

📌 Βήματα

  • Πρώτον, πατήστε Alt+F11 στο πληκτρολόγιό σας για να ανοίξετε τον επεξεργαστή VBA.
  • Στη συνέχεια, επιλέξτε Εισαγωγή> Ενότητα .

  • Μετά από αυτό, πληκτρολογήστε τον ακόλουθο κώδικα:
 Sub overdue_days() Dim cell As Integer Dim J As Integer Dim due_date As Date due_date = #1/11/2022# For cell = 5 To 11 If Cells(cell, 4).Value = due_date Then Cells(cell, 5).Value = "Submitted Today" ElseIf Cells(cell, 4).Value> due_date Then J = due_date - Cells(cell, 4).Value J = Abs(J) Cells(cell, 5).Value = J & " Overdue Days" Else Cells(cell, 5).Value = "No Overdue" End If Next cellEnd Sub 

Χρησιμοποιήσαμε τη λειτουργία ABS για να αφαιρέσετε το σύμβολο μείον.

  • Στη συνέχεια, αποθηκεύστε το αρχείο.
  • Μετά από αυτό, πατήστε Alt+F8 στο πληκτρολόγιό σας για να ανοίξετε το παράθυρο διαλόγου Μακροεντολών.
  • Στη συνέχεια, επιλέξτε
  • Στη συνέχεια, κάντε κλικ στο Εκτέλεση .

Όπως μπορείτε να δείτε, χρησιμοποιήσαμε με επιτυχία την ημερομηνία στην VBA και βρήκαμε τις ημέρες καθυστέρησης.

Παρόμοιες αναγνώσεις

  • Πώς να χρησιμοποιήσετε τη συνάρτηση Space της VBA στο Excel (3 παραδείγματα)
  • Χρήση της συνάρτησης VBA ChDir στο Excel (4 κατάλληλα παραδείγματα)
  • Πώς να χρησιμοποιήσετε τη συνάρτηση IsNull στο Excel VBA (5 παραδείγματα)
  • Χρήση της δήλωσης VBA While Wend στο Excel (4 παραδείγματα)
  • Πώς να καλέσετε μια υποενότητα στην VBA στο Excel (4 παραδείγματα)

2. Εύρεση του έτους γέννησης από την ημερομηνία με χρήση της VBA

Τώρα, μπορείτε να βρείτε το Έτος από μια συγκεκριμένη ημερομηνία. Αυτό είναι πολύ απλό να το βρείτε.

Ρίξτε μια ματιά στο ακόλουθο σύνολο δεδομένων:

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

📌 Βήματα

  • Πρώτον, πατήστε Alt+F11 στο πληκτρολόγιό σας για να ανοίξετε τον επεξεργαστή VBA.
  • Στη συνέχεια, επιλέξτε Εισαγωγή>Ενότητα .

  • Μετά από αυτό, πληκτρολογήστε τον ακόλουθο κώδικα:
 Sub find_year() Dim last_entry As Date Dim cell As Integer For cell = 5 To 11 Cells(cell, 4).Value = Year(Cells(cell, 3).Value) If cell = 11 Then last_entry = Cells(cell, 3).Value End If Next cell MsgBox "Birth Year of last entry: " & Year(last_entry) End Sub 
  • Στη συνέχεια, αποθηκεύστε το αρχείο.
  • Μετά από αυτό, πατήστε Alt+F8 στο πληκτρολόγιό σας για να ανοίξετε το παράθυρο διαλόγου Μακροεντολών.
  • Στη συνέχεια, επιλέξτε find_year .
  • Στη συνέχεια, κάντε κλικ στο Εκτέλεση .

Τέλος, μπορείτε να δείτε ότι έχουμε επιτύχει να εξάγουμε το έτος γέννησης από κάθε ημερομηνία. Επίσης, βρήκαμε το έτος γέννησης της τελευταίας καταχώρησης χρησιμοποιώντας την ημερομηνία της VBA στο Excel.

3. Προσθήκη ημερών στην ημερομηνία με χρήση της VBA

Τώρα, μπορείτε να ορίσετε τη μεταβλητή date και να τη χρησιμοποιήσετε για να προσθέσετε την ημερομηνία. Για να το πραγματοποιήσουμε αυτό, χρησιμοποιούμε την το DateAdd Μπορείτε να χρησιμοποιήσετε αυτή τη συνάρτηση για να προσθέσετε ημέρες, μήνες και έτη σε μια συγκεκριμένη ημερομηνία.

Ρίξτε μια ματιά στο ακόλουθο σύνολο δεδομένων:

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

📌 Βήματα

  • Πρώτον, πατήστε Alt+F11 στο πληκτρολόγιό σας για να ανοίξετε τον επεξεργαστή VBA.
  • Στη συνέχεια, επιλέξτε Εισαγωγή>Ενότητα .

  • Μετά από αυτό, πληκτρολογήστε τον ακόλουθο κώδικα:
 Sub add_days() Dim first_date As Date Dim second_date As Date Dim cell As Integer For cell = 5 To 11 first_date = Cells(cell, 3).Value second_date = DateAdd("d", 5, first_date) Cells(cell, 4).Value = second_date Next cell End Sub 

Εδώ, χρησιμοποιήσαμε το "d" ως όρισμα στη συνάρτηση DateAdd. Μπορείτε να το αλλάξετε σε "y" ή "m" για να προσθέσετε έτη ή μήνες αντίστοιχα,

  • Στη συνέχεια, αποθηκεύστε το αρχείο.
  • Μετά από αυτό, πατήστε Alt+F8 στο πληκτρολόγιό σας για να ανοίξετε το παράθυρο διαλόγου Μακροεντολών.
  • Στη συνέχεια, επιλέξτε.
  • Στη συνέχεια, κάντε κλικ στο Εκτέλεση .

Όπως βλέπετε, προσθέσαμε επιτυχώς ημέρες σε μια ημερομηνία χρησιμοποιώντας την ημερομηνία στην VBA. Τώρα, μπορείτε να τροποποιήσετε τον κώδικα σύμφωνα με την επιλογή σας.

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

Η συνάρτηση Date της VBA λειτουργεί στην πραγματικότητα ως εξής η λειτουργία TODAY στο Excel.

Η VBA DATE είναι μια μη πτητική λειτουργία στο excel. Αυτό σημαίνει ότι θα διατηρήσει τα δεδομένα ακόμη και αν υπάρξει διακοπή στην παροχή ρεύματος.

Βασικά, η VBA αποθηκεύει τις τιμές ημερομηνίας ως DATE κατά τη στιγμή της εφαρμογής.

Έτσι, αν προσπαθήσετε να εκχωρήσετε μια μεταβλητή ημερομηνίας ως συμβολοσειρά/κείμενο, θα προκληθεί σφάλμα.

Η προεπιλεγμένη τιμή της ημερομηνίας είναι 0:00:00 (μεσάνυχτα) την 1η Ιανουαρίου 0001.

Συμπέρασμα

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

Μην ξεχάσετε να ελέγξετε την ιστοσελίδα μας Exceldemy.com για διάφορα προβλήματα και λύσεις που σχετίζονται με το Excel.

Συνεχίστε να μαθαίνετε νέες μεθόδους και να εξελίσσεστε!

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.