ΗμερομηνίαΠροσθήκη περιγραφής
Η συνάρτηση 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")Τέλος υπο |