Λειτουργία VBA DateAdd

ΗμερομηνίαΠροσθήκη περιγραφής

Η συνάρτηση VBA DateAdd σάς επιτρέπει να προσθέτετε (ή να αφαιρείτε) ημέρες, μήνες, έτη, ώρες, τέταρτα κ.λπ. σε Ημερομηνίες ή Timesρες.

Απλή ημερομηνίαΠροσθήκη παραδειγμάτων

Εδώ είναι ένα απλό παράδειγμα DateAdd:

123 Sub DateAdd_Day ()MsgBox DateAdd ("d", 20, #4/1/2021 #)Τέλος υπο

Αυτός ο κωδικός θα προσθέσει 20 ημέρες (υποδεικνύεται με "d") στην ημερομηνία 4/1/2021:

Αντ 'αυτού, μπορούμε να αλλάξουμε το όρισμα Διαστήματος από "d" σε "m" για να προσθέσουμε 20 μήνες στην ημερομηνία 4/1/2021:

123 Υπο ημερομηνία Προσθήκη_Μήνας ()MsgBox DateAdd ("m", 20, #4/1/2021 #)Τέλος υπο

Αντί να εμφανίζουμε την ημερομηνία σε ένα πλαίσιο μηνυμάτων, μπορούμε να την εκχωρήσουμε σε μια μεταβλητή:

123456 Sub DateAdd_Day2 ()Dim dt ως Ημερομηνίαdt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtΤέλος υπο

Ημερομηνία Προσθήκη σύνταξης

Στο πρόγραμμα επεξεργασίας VBA, μπορείτε να πληκτρολογήσετε "DateAdd (" για να δείτε τη σύνταξη για τη συνάρτηση DateAdd:

Η συνάρτηση DateAdd περιέχει 3 ορίσματα:

Διάστημα: Μονάδα χρόνου (Ημέρες, Μήνες, Χρόνια κ.λπ.). Εισαγάγετε ως συμβολοσειρά. (π.χ. "m" για το μήνα)

Σύνθεση Περιγραφή
εεεε Ετος
q Τέταρτο
Μ Μήνας
y Ημέρα του Έτους
ρε Ημέρα
w Καθημερινή
ww Εβδομάδα
η Ωρα
ν Λεπτό
μικρό Δεύτερος

Αριθμός: Αριθμητική τιμή που αντιπροσωπεύει τον αριθμό των μονάδων χρόνου για προσθήκη. (π.χ. 20 για να προσθέσετε 20 μονάδες)

Ημερομηνία: Αρχική Ημερομηνία. Δείτε την επόμενη ενότητα.

Προγραμματισμός VBA | Το Code Generator λειτουργεί για εσάς!

Παραδείγματα της συνάρτησης Excel VBA DateAdd

Αναφορά ημερομηνιών

Αρχικά, θα επιδείξουμε διαφορετικούς τρόπους αναφοράς ημερομηνιών χρησιμοποιώντας τη συνάρτηση VBA DateAdd.

Κάθε μία από αυτές τις συναρτήσεις DateAdd παράγει το ίδιο αποτέλεσμα:

123456789 Sub DateAdd_ReferenceDates ()MsgBox DateAdd ("m", 2, #4/1/2021 #)MsgBox DateAdd ("m", 2, DateSerial (2021, 4, 1))MsgBox DateAdd ("m", 2, DateValue ("1 Απριλίου 2022"))Τέλος υπο

Or μπορείτε να αναφέρετε ένα κελί που περιέχει ημερομηνία:

12345 Sub DateAdd_ReferenceDates_Cell ()MsgBox DateAdd ("m", 2, Range ("C2"). Τιμή)Τέλος υπο

Or δημιουργήστε και αναφέρετε μια μεταβλητή ημερομηνίας:

12345678 Sub DateAdd_Variable ()Dim dt Ως ημερομηνίαdt = #4/1/2021 #MsgBox DateAdd ("m", 2, dt)Τέλος υπο

Προσθήκη ή αφαίρεση ημερομηνιών

Σας έχουμε ήδη δείξει τον τρόπο προσθήκης σε μια ημερομηνία:

123456 Sub DateAdd_Day2 ()Dim dt ως Ημερομηνίαdt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtΤέλος υπο

Μπορείτε να αφαιρέσετε από τις ημερομηνίες χρησιμοποιώντας έναν αρνητικό αριθμό (π.χ. -20 αντί 20):

123456 Sub DateAdd_Day ()Dim dt ως Ημερομηνίαdt = DateAdd ("d", -20, #4/1/2021 #)MsgBox dtΤέλος υπο

Κουραστήκατε να ψάχνετε για παραδείγματα κώδικα VBA; Δοκιμάστε το AutoMacro!

Προσθήκη διαφορετικών μονάδων χρόνου

Χρόνια

123 Sub DateAdd_Years ()MsgBox DateAdd ("εεεε", 4, #4/1/2021 #)Τέλος υπο

Τέταρτο

123 Sub DateAdd_Quarters ()MsgBox DateAdd ("q", 2, #4/1/2021 #)Τέλος υπο

Μήνας

123 Sub DateAdd_Months ()MsgBox DateAdd ("m", 2, #4/1/2021 #)Τέλος υπο

Ημέρα του Έτους

123 Sub DateAdd_DaysofYear ()MsgBox DateAdd ("y", 2, #4/1/2021 #)Τέλος υπο

Ημέρα

123 Sub DateAdd_Days3 ()MsgBox DateAdd ("d", 2, #4/1/2021 #)Τέλος υπο

Καθημερινή

123 Sub DateAdd_Weekdays ()MsgBox DateAdd ("w", 2, #4/1/2021 #)Τέλος υπο

Εβδομάδα

123 Sub DateAdd_Weeks ()MsgBox DateAdd ("ww", 2, #4/1/2021 #)Τέλος υπο

Προγραμματισμός VBA | Το Code Generator λειτουργεί για εσάς!

Προσθήκη στο Σήμερα

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

123456789 Sub DateAdd_Year_Test ()Dim dtΣήμερα ως ημερομηνίαDim dtLater As DatedtToday = ΗμερομηνίαdtLater = DateAdd ("εεεε", 1, dtToday)MsgBox "Ένα χρόνο αργότερα είναι" & dtLaterΤέλος υπο
123 Sub DateAdd_Quarter_Test ()MsgBox "2 τέταρτα αργότερα είναι" & DateAdd ("q", 2, Ημερομηνία)Τέλος υπο

Προσθήκη και αφαίρεση χρόνου

Η λειτουργία DateAdd λειτουργεί επίσης με Times. Ακολουθούν μερικά παραδείγματα προσθήκης (ή αφαίρεσης) χρόνου σε έναν χρόνο:

Ωρα

Αυτό το παράδειγμα θα προσθέσει 2 ώρες κάθε φορά:

123 Sub DateAdd_Hour ()MsgBox DateAdd ("h", 2, #4/1/2021 6: 00: 00 #)Τέλος υπο

Λεπτό

Αυτό το παράδειγμα θα αφαιρέσει 120 λεπτά από την τρέχουσα ώρα:

123 Sub DateAdd_Minute_Subtract ()MsgBox DateAdd ("n", -120, Τώρα)Τέλος υπο

Δεύτερος

123 Sub DateAdd_Second ()MsgBox DateAdd ("s", 2, #4/1/2021 6: 00: 00 #)Τέλος υπο

Μορφοποίηση ημερομηνιών

Όταν οι ημερομηνίες (ή οι ώρες) εμφανίζονται στο Excel, το UserForms ή το Messageboxes, θα πρέπει να υποδείξετε τον τρόπο με τον οποίο θα εμφανίζονται οι ημερομηνίες χρησιμοποιώντας τη συνάρτηση μορφοποίησης. Έχουμε συμπεριλάβει μερικά παραδείγματα παρακάτω:

123456789101112131415161718 Sub FormattingDatesTimes ()'Επιστρέφει την τρέχουσα ημερομηνία και ώραdt = Τώρα ()'πρώην. 07/02/2021Εύρος ("B2") = Μορφή (dt, "mm/dd/yyyy")'πρώην. 2 Ιουλίου 2022Εύρος ("B3") = Μορφή (dt, "mmmm d, yyyy")'πρώην. 2 Ιουλίου 2022 09:10Εύρος ("B4") = Μορφή (dt, "mm/dd/yyyy hh: mm")'πρώην. 7.2.21 9:10 π.μΕύρος ("B5") = Μορφή (dt, "m.d.yy h: mm AM/PM")Τέλος υπο

wave wave wave wave wave