Πώς να χρησιμοποιήσετε τη συνάρτηση DateAdd της VBA στο Excel

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

Το 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. Ελπίζουμε ότι θα σας ενθαρρύνει να χρησιμοποιείτε αυτή τη λειτουργία με μεγαλύτερη αυτοπεποίθηση. Οποιεσδήποτε ερωτήσεις ή προτάσεις μην ξεχάσετε να τις βάλετε στο πλαίσιο σχολίων παρακάτω.

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