Πίνακας περιεχομένων
Το VBA Συνάρτηση DateAdd βρίσκεται κάτω από την κατηγορία ημερομηνίας και ώρας του Excel Λειτουργίες VBA Με τη χρήση αυτής της συνάρτησης μπορούμε να προσθέσουμε ή να αφαιρέσουμε χρόνια, μήνες, ημέρες, τρίμηνα, ακόμη και διαφορετικά χρονικά διαστήματα όπως ώρες, λεπτά, δευτερόλεπτα από μια δεδομένη ημερομηνία. Η ενασχόληση με την ημερομηνία και την ώρα σε καθημερινούς υπολογισμούς για τη δημιουργία αναφορών ή τη διενέργεια συγκρίσεων είναι ένα συνηθισμένο σενάριο. Στο Excel, η χρήση των συναρτήσεων ημερομηνίας και ώρας VBA, όπως η συνάρτηση DateAdd, καθιστά πολύπλοκους ή χρονοβόρους υπολογισμούς.πιο αποτελεσματική και ταχύτερη.
Κατεβάστε το βιβλίο ασκήσεων
Κατεβάστε αυτό το τετράδιο ασκήσεων για να εξασκηθείτε ενώ διαβάζετε αυτό το άρθρο.
VBA DateAdd Function.xlsmΕισαγωγή στη λειτουργία DateAdd του Excel VBA
Αποτελέσματα:
μια ημερομηνία στην οποία προστίθεται ή αφαιρείται ένα συγκεκριμένο χρονικό διάστημα
Σύνταξη:
Ημερομηνίαπροσθήκη (διάστημα, αριθμός, ημερομηνία)
Επιχειρήματα:
Επιχειρήματα | Υποχρεωτικό/προαιρετικό | Περιγραφή |
---|---|---|
διάστημα | Απαιτούμενο | A string έκφραση. |
Το χρονικό διάστημα σε διάφορες ρυθμίσεις που θέλουμε να προσθέσουμε αριθμός Απαιτούμενο A αριθμητικό έκφραση .
Το αριθμός του διαστήματα να προστεθεί ή να αφαιρεθεί
Μπορεί να είναι θετικό - για μελλοντικό ημερομηνίες
Μπορεί να είναι αρνητικό - για παρελθόν ημερομηνίες ημερομηνία Απαιτούμενο A ημερομηνία έκφραση
Το ημερομηνία στην οποία η διαστήματα είναι προστέθηκε το
Ρυθμίσεις:
Το Συνάρτηση DateAdd έχει αυτά ρυθμίσεις διαστήματος:
Ρύθμιση | Περιγραφή |
---|---|
yyyy | Έτος |
q | Τρίμηνο |
m | Μήνας |
y | Έτος της ημέρας |
d | Ημέρα |
w | Ημέρα της εβδομάδας |
ww | Εβδομάδα |
h | Ώρα |
n | Λεπτό |
s | Δεύτερο |
Παραδείγματα της συνάρτησης DateAdd του Excel VBA
Εκφράσεις τύπων της συνάρτησης DateAdd του Excel
Υπάρχουν διάφοροι τρόποι για να βάλετε το ημερομηνία επιχείρημα στο Συνάρτηση DateAdd. Όλες οδηγούν στην ίδια έξοδο.
Βάλτε τα εξής κωδικός στο Visual Basic Editor:
(Πώς να εκτελέσετε κώδικα στον επεξεργαστή της Visual Basic)
Sub add_year() Range("D3") = DateAdd("yyyy", 2, #1/1/2022#) Range("D4") = DateAdd("yyyy", 2, DateSerial(2022, 1, 1)) Range("D5") = DateAdd("yyyy", 2, DateValue("Jan 1, 2022")) Range("D6") = DateAdd("yyyy", 2, Range("B6")) End Sub
Επεξήγηση :
DateAdd("yyyy",2, μία από τις ακόλουθες μεθόδους)
Για να βάλουμε το όρισμα της ημερομηνίας μπορούμε να χρησιμοποιήσουμε διαφορετικές μεθόδους:
- #1/1/2011#
- DateSerial( έτος , μήνας, ημέρα)
- DateValue( ημερομηνία )
- Εύρος ("cell") - Ημερομηνία αποθηκευμένη σε ένα κελί
- Αποθήκευση της ημερομηνίας σε μια μεταβλητή
Σε κύτταρα D3, D4, D5, D6, D7 βάζουμε τις παραπάνω μεθόδους ως ημερομηνία επιχείρημα του Ημερομηνίαπροσθήκη συνάρτηση διαδοχικά και πήρε το το ίδιο αποτέλεσμα.
Προσθέσαμε 2 περισσότερα χρόνια στο 1/1/2022 που είχε ως αποτέλεσμα 1/1/2024.
Ορίστε,
yyyy αντιπροσωπεύει το έτος ως διάστημα
2 αντιπροσωπεύει τον αριθμό των διαστημάτων ως αριθμός .
Βοήθεια: Πώς να εκτελέσετε κώδικα στον επεξεργαστή της Visual Basic
Ακολουθήστε τα βήματα:
- Από το Κορδέλα Excel , πηγαίνετε στο Καρτέλα Developer και επιλέξτε Visual Basic Καρτέλα.
- Από το νέο παράθυρο, κάντε κλικ στο Εισαγωγή και επιλέξτε Ενότητα.
- Γράψτε το κωδικός στον επεξεργαστή και πατήστε F5 στο τρέχει.
Προσθήκη διαφορετικών ρυθμίσεων διαστήματος χρησιμοποιώντας τη συνάρτηση DateAdd στο Excel
1. Προσθήκη έτους
Κωδ:
Sub DateAdd_Years() Range("F5") = DateAdd("yyyy", 2, Range("D5")) End Sub
Αποτέλεσμα: 2 χρόνια προστέθηκε στο 1/1/2022 (mm/dd/yyyyyy) και είχε ως αποτέλεσμα 1/1/2024 (mm//dd/yyyyyy).
Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε τη συνάρτηση έτους στο Excel VBA
2. Προσθέστε τρίμηνο
Κωδ:
Sub DateAdd_Quarters() Range ("F5") = DateAdd("q", 2, Range("D5")) End Sub
Αποτέλεσμα: 2 τρίμηνα = 6 μήνες προστέθηκε στο 1/1/2022 (mm/dd/yyyyyy) και είχε ως αποτέλεσμα 7/1/2022 (mm//dd/yyyyyy).
3. Προσθήκη μήνα
Κωδ:
Sub DateAdd_Months() Range("F5") = DateAdd("m", 2, Range("D5")) End Sub
Αποτέλεσμα: 2 μήνες προστέθηκε στο 1/1/2022 (mm/dd/yyyyyy) και είχε ως αποτέλεσμα 3/1/2022 (mm//dd/yyyyyy).
Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε τη συνάρτηση MONTH του Excel VBA
4. Προσθέστε την ημέρα του έτους
Κωδ:
Sub DateAdd_DayOfYear() Range("F5") = DateAdd("y", 2, Range("D5")) End Sub
Αποτέλεσμα : 2 Ημέρα του έτους προστέθηκε στο 1/1/2022 (mm/dd/yyyyyy) και είχε ως αποτέλεσμα 1/3/2022 (mm//dd/yyyyyy).
Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε τη συνάρτηση ημέρας στο Excel VBA
5. Προσθήκη ημέρας
Κωδ:
Sub DateAdd_Day() Range("F5") = DateAdd("d", 2, Range("D5")) End Sub
Αποτέλεσμα : Προστέθηκαν 2 ημέρες στο 1/1/2022 (mm/dd/yyyyyy) και είχε ως αποτέλεσμα 1/3/2022 (mm//dd/yyyyyy).
Παρόμοιες αναγνώσεις
- Excel VBA για την εύρεση του αριθμού εβδομάδας (6 γρήγορα παραδείγματα)
- Πώς να χρησιμοποιήσετε τη λειτουργία DatePart της VBA στο Excel (7 παραδείγματα)
- Χρήση της συνάρτησης DateSerial της VBA στο Excel (5 εύκολες εφαρμογές)
- Πώς να μετατρέψετε ημερομηνία από συμβολοσειρά χρησιμοποιώντας VBA (7 τρόποι)
6. Προσθήκη Εβδομαδιαίας Ημέρας
Κωδ:
Sub DateAdd_WeekDay() Range("F5") = DateAdd("w", 10, Range("D5")) End Sub
Αποτέλεσμα: προστέθηκαν 10 WeekDays στο 1/1/2022 (mm/dd/yyyyyy) και είχε ως αποτέλεσμα 1/11/2022 (mm//dd/yyyyyy).
7. Προσθήκη εβδομάδας
Κωδ:
Sub DateAdd_Weeks() Range("F5") = DateAdd("ww", 2, Range("D5")) End Sub
Αποτέλεσμα: 2 εβδομάδες= 14 ημέρες προστίθενται στο 1/1/2022 (mm/dd/yyyyyy) και είχε ως αποτέλεσμα 1/15/2022 (mm//dd/yyyyyy).
Διαβάστε περισσότερα: Πώς να λάβετε την ημέρα της εβδομάδας χρησιμοποιώντας την VBA
8. Προσθέστε ώρα
Κωδ:
Sub DateAdd_Hours() Range("F5") = DateAdd("h", 14, Range("D5")) End Sub
Αποτέλεσμα: προστέθηκαν 14 ώρες στο 1/1/2022 12:00 Π.Μ. (mm/dd/yyyyyy: hh/mm) και είχε ως αποτέλεσμα 1/1/2022 2:00 Μ.Μ. (mm//dd/yyyy : hh/mm).
9. Προσθέστε λεπτό
Κωδ:
Sub DateAdd_Minutes() Range("F5") = DateAdd("n", 90, Range("D5")) End Sub
Αποτέλεσμα : 90 λεπτά= 1,30 ώρες προστιθέμενης διάρκειας στο 1/1/2022 12:00 Π.Μ. (mm/dd/yyyyyy) και είχε ως αποτέλεσμα 1/1/2022 1:30 Π.Μ. (mm//dd/yyyyyy).
10. Προσθέστε δεύτερο
Κωδ:
Sub DateAdd_Seconds() Range("F5") = DateAdd("s", 120, Range("D5")) End Sub
Αποτέλεσμα: 120 δευτερόλεπτα = 2 λεπτά προστίθενται στο 1/1/2022 12:00 Π.Μ. (mm/dd/yyyyy : hh/mm) και είχε ως αποτέλεσμα 1/1/2022 12:02 Π.Μ. (mm//dd/yyyy : hh/mm).
Χρήση της συνάρτησης DateAdd στο Excel για την αφαίρεση διαφορετικών ρυθμίσεων διαστήματος
Ομοίως, μπορούμε να Αφαιρέστε χρόνια, μήνες, ημέρες, ώρες, λεπτά κ.λπ. από μια ημερομηνία χρησιμοποιώντας ένα σύμβολο μείον στο μπροστά του αριθμητικό επιχείρημα Για παράδειγμα:
Κωδ:
Sub DateAdd_Subtract_Years() Range("F5") = DateAdd("y", -2, Range("D5")) End Sub
Αποτέλεσμα: 2 χρόνια αφαιρείται από 1/1/2022 (mm/dd/yyyyyy) και είχε ως αποτέλεσμα 1/1/2020 (mm//dd/yyyyyy).
Πράγματα που πρέπει να θυμάστε
- Όταν χρησιμοποιούμε 'w' για να προσθέσετε καθημερινές προσθέτει όλες τις ημέρες μιας εβδομάδας συμπεριλαμβανομένου του Σαββάτου και της Κυριακής, όχι μόνο τις εργάσιμες ημέρες (κάποιος θα περίμενε).
- Η συνάρτηση DateAdd δεν καταλήγει να εμφανίζει ένα άκυρη ημερομηνία Για παράδειγμα, αν προσθέσουμε 1 μήνα στις 31 Ιανουαρίου 2022, το αποτέλεσμα θα είναι στις 28 Φεβρουαρίου 2022 και όχι στις 31 Φεβρουαρίου 2022 (δεν υπάρχει).
- Αν αφαιρέσουμε περισσότερα από 122 χρόνια από τώρα ένα σφάλμα θα συνέβαινε επειδή η ημερομηνία του Excel αρχίζει από το 1 Ιανουαρίου 1990.
- Η ημερομηνία επιστροφής της συνάρτησης DateAdd εξαρτάται από το Πίνακας ελέγχου Ρυθμίσεις ημερομηνίας.
- Θα πρέπει το όρισμα ημερομηνία της συνάρτησης DateAdd σύμφωνα με το Ιδιότητα ημερολογίου . Εάν το ημερολόγιο είναι Γρηγοριανή , η είσοδος da το επιχείρημα θα πρέπει επίσης να είναι σε Γρηγοριανή Ομοίως, αν το ημερολόγιο είναι σε Hijri, το όρισμα της ημερομηνίας πρέπει να έχει την ίδια μορφή.
Συμπέρασμα
Τώρα, ξέρουμε πώς να χρησιμοποιούμε τη συνάρτηση VBA DateAdd στο Excel. Ελπίζουμε ότι θα σας ενθαρρύνει να χρησιμοποιείτε αυτή τη λειτουργία με μεγαλύτερη αυτοπεποίθηση. Οποιεσδήποτε ερωτήσεις ή προτάσεις μην ξεχάσετε να τις βάλετε στο πλαίσιο σχολίων παρακάτω.