Hàm DateAdd VBA

Ngày Thêm Mô tả

Chức năng VBA DateAdd cho phép bạn thêm (hoặc trừ) ngày, tháng, năm, giờ, quý, v.v. vào Ngày hoặc Giờ.

Ví dụ về Ngày Thêm đơn giản

Đây là một ví dụ DateAdd đơn giản:

123 Sub DateAdd_Day ()MsgBox DateAdd ("d", 20, # 4/1/2021 #)Kết thúc Sub

Mã này sẽ thêm 20 ngày (được biểu thị bằng “d”) vào ngày 4/1/2021:

Thay vào đó, chúng ta có thể thay đổi đối số Khoảng thời gian từ “d” thành “m” để thêm 20 tháng vào ngày 4/1/2021:

123 Sub DateAdd_Month ()MsgBox DateAdd ("m", 20, # 4/1/2021 #)Kết thúc Sub

Thay vì hiển thị ngày trong hộp thông báo, chúng ta có thể gán ngày đó cho một biến:

123456 Sub DateAdd_Day2 ()Dim dt as Datedt = DateAdd ("d", 20, # 4/1/2021 #)MsgBox dtKết thúc Sub

Cú pháp DateAdd

Trong VBA Editor, bạn có thể nhập “DateAdd (” để xem cú pháp của Hàm DateAdd:

Hàm DateAdd chứa 3 đối số:

Khoảng thời gian: Đơn vị thời gian (Ngày, Tháng, Năm, v.v.). Nhập dưới dạng chuỗi. (ví dụ: “m” cho Tháng)

Thiết lập Sự miêu tả
yyyy Năm
NS Phần tư
NS Tháng
y Ngày trong năm
NS Ngày
w Ngày trong tuần
đệ Tuần
NS Giờ
n Phút
NS Thứ hai

Con số: Giá trị số đại diện cho số lượng đơn vị thời gian cần thêm. (ví dụ: 20 để thêm 20 đơn vị)

Ngày: Ngày ban đầu. Xem phần tiếp theo.

Lập trình VBA | Code Generator làm việc cho bạn!

Ví dụ về hàm DateAdd trong Excel VBA

Ngày tham chiếu

Để bắt đầu, chúng tôi sẽ trình bày các cách khác nhau để tham chiếu ngày bằng Hàm VBA DateAdd.

Mỗi hàm DateAdd này tạo ra cùng một kết quả:

123456789 Sub DateAdd_ReferenceDates ()MsgBox DateAdd ("m", 2, # 4/1/2021 #)MsgBox DateAdd ("m", 2, DateSerial (2021, 4, 1))MsgBox DateAdd ("m", 2, DateValue ("ngày 1 tháng 4 năm 2022"))Kết thúc Sub

Hoặc bạn có thể tham chiếu ô chứa ngày tháng:

12345 Sub DateAdd_ReferenceDates_Cell ()MsgBox DateAdd ("m", 2, Phạm vi ("C2"). Giá trị)Kết thúc Sub

Hoặc tạo và tham chiếu một biến ngày:

12345678 Sub DateAdd_Variable ()Dim dt As Datedt = # 4/1/2021 #MsgBox DateAdd ("m", 2, dt)Kết thúc Sub

Thêm hoặc trừ ngày

Chúng tôi đã chỉ cho bạn cách thêm ngày:

123456 Sub DateAdd_Day2 ()Dim dt as Datedt = DateAdd ("d", 20, # 4/1/2021 #)MsgBox dtKết thúc Sub

Bạn có thể trừ các ngày bằng cách sử dụng một số âm (ví dụ: -20 thay vì 20):

123456 Sub DateAdd_Day ()Dim dt as Datedt = DateAdd ("d", -20, # 4/1/2021 #)MsgBox dtKết thúc Sub

Bạn mệt mỏi với việc tìm kiếm ví dụ về mã VBA? Hãy thử AutoMacro!

Thêm các đơn vị thời gian khác nhau

Năm

123 Sub DateAdd_Years ()MsgBox DateAdd ("yyyy", 4, # 4/1/2021 #)Kết thúc Sub

Phần tư

123 Sub DateAdd_Quarters ()MsgBox DateAdd ("q", 2, # 4/1/2021 #)Kết thúc Sub

Tháng

123 Sub DateAdd_Months ()MsgBox DateAdd ("m", 2, # 4/1/2021 #)Kết thúc Sub

Ngày trong năm

123 Sub DateAdd_DaysofYear ()MsgBox DateAdd ("y", 2, # 4/1/2021 #)Kết thúc Sub

Ngày

123 Sub DateAdd_Days3 ()MsgBox DateAdd ("d", 2, # 4/1/2021 #)Kết thúc Sub

Ngày trong tuần

123 Sub DateAdd_Weekdays ()MsgBox DateAdd ("w", 2, # 4/1/2021 #)Kết thúc Sub

Tuần

123 Sub DateAdd_Weeks ()MsgBox DateAdd ("ww", 2, # 4/1/2021 #)Kết thúc Sub

Lập trình VBA | Code Generator làm việc cho bạn!

Thêm vào hôm nay

Những ví dụ này sẽ thêm đơn vị thời gian cho ngày hôm nay bằng cách sử dụng Hàm ngày.

123456789 Sub DateAdd_Year_Test ()Dim dtToday As DateDim dtLater As DatedtToday = NgàydtLater = DateAdd ("yyyy", 1, dtToday)MsgBox "Một năm sau là" & dtLaterKết thúc Sub
123 Sub DateAdd_Quarter_Test ()MsgBox "2 quý sau là" & DateAdd ("q", 2, Date)Kết thúc Sub

Thêm và trừ thời gian

Chức năng DateAdd cũng hoạt động với Times. Dưới đây là một số ví dụ về cộng (hoặc trừ) thời gian cho một thời gian:

Giờ

Ví dụ này sẽ thêm 2 giờ vào một thời gian:

123 Sub DateAdd_Hour ()MsgBox DateAdd ("h", 2, # 4/1/2021 6: 00: 00 #)Kết thúc Sub

Phút

Ví dụ này sẽ trừ đi 120 phút cho Thời gian hiện tại:

123 Sub DateAdd_Minute_Subtract ()MsgBox DateAdd ("n", -120, Now)Kết thúc Sub

Thứ hai

123 Sub DateAdd_Second ()MsgBox DateAdd ("s", 2, # 4/1/2021 6: 00: 00 #)Kết thúc Sub

Định dạng ngày

Khi ngày (hoặc giờ) được hiển thị trong Excel, UserForms hoặc Hộp thư, bạn nên chỉ ra cách ngày tháng sẽ được hiển thị bằng cách sử dụng Hàm Định dạng. Chúng tôi đã bao gồm một số ví dụ bên dưới:

123456789101112131415161718 Sub FormattingDatesTimes ()'Trả về ngày và giờ hiện tạidt = Bây giờ ()'Ví dụ. 07/02/2021Range ("B2") = Định dạng (dt, "mm / dd / yyyy")'Ví dụ. Ngày 2 tháng 7 năm 2022Phạm vi ("B3") = Định dạng (dt, "mmmm d, yyyy")'Ví dụ. 2 tháng 7 năm 2022 09:10Range ("B4") = Định dạng (dt, "mm / dd / yyyy hh: mm")'Ví dụ. 7.2.21 9:10 sángRange ("B5") = Định dạng (dt, "m.d.yy h: mm AM / PM")Kết thúc Sub

wave wave wave wave wave