Hàm DateDiff trong VBA

Mô tả DateDiff

Trả về sự khác biệt giữa hai giá trị ngày, dựa trên khoảng thời gian được chỉ định.

Ví dụ về DateDiff Đơn giản

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

123 Sub DateDiff_Year ()MsgBox DateDiff ("yyyy", # 1/1/2019 #, # 8/1/2021 #)Kết thúc Sub

Mã này sẽ trả về 2. Đây là sự khác biệt theo năm (được biểu thị bằng “yyyy”) giữa 2 ngày. (2021 - 2022 = 2)

Trong ví dụ trên, thay đổi vị trí của date1 và date2.

123 Sub DateDiff_Year ()MsgBox DateDiff ("yyyy", # 8/1/2021 #, # 1/1/2019 #)Kết thúc Sub

Mã này sẽ trả về -2.

Cú pháp DateDiff

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

Hàm DateDiff chứa 5 đố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

Date1, Date2: Hai ngày bạn muốn sử dụng trong tính toán.

Ngày đầu tuần: Một hằng số chỉ định ngày đầu tiên trong tuần. Đây là tùy chọn. Nếu không được chỉ định, Chủ nhật được giả định.

Hằng số Giá trị Sự miêu tả
vbUseSystem 0 Sử dụng cài đặt API NLS.
vbSunday 1 Chủ nhật (mặc định)
vbMonday 2 thứ hai
vbTuesday 3 Thứ ba
vbWednesday 4 thứ Tư
vbThursday 5 Thứ năm
vbFriday 6 thứ sáu
vbSaturday 7 Thứ bảy

FirstWeekOfYear: Một hằng số chỉ định tuần đầu tiên của năm. Đây là tùy chọn. Nếu không được chỉ định, tuần đầu tiên được giả định là tuần xảy ra ngày 1 tháng 1.

Hằng số Giá trị Sự miêu tả
vbUseSystem 0 Sử dụng cài đặt API NLS.
vbFirstJan1 1 Bắt đầu với tuần mà ngày 1 tháng 1 xảy ra (mặc định).
vbFirstFourDays 2 Bắt đầu với tuần đầu tiên có ít nhất bốn ngày trong năm mới.
vbFirstFullWeek 3 Bắt đầu với tuần đầu tiên của năm.

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

Ví dụ về hàm DateDiff 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 DateDiff.

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

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

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

12345 Sub DateDiff_ReferenceDates_Cell ()MsgBox DateDiff ("m", Phạm vi ("C2"). Giá trị, Phạm vi ("C3"). Giá trị)Kết thúc Sub

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

123456789 Sub DateDiff_Variable ()Dim dt1 As Date, dt2 As Datedt1 = # 4/1/2019 #dt2 = # 8/1/2021 #MsgBox DateDiff ("m", dt1, dt2)Kế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!

Sử dụng các đơn vị khoảng thời gian khác nhau

Khu

123 Sub DateDiff_Quarter ()MsgBox "số phần tư:" & DateDiff ("q", # 1/1/2019 #, # 1/1/2021 #)Kết thúc Sub

Tháng

123 Sub DateDiff_Month ()MsgBox "số tháng:" & DateDiff ("m", # 1/1/2019 #, # 1/1/2021 #)Kết thúc Sub

Ngày

123 Sub DateDiff_Day ()MsgBox "số ngày:" & DateDiff ("d", # 1/1/2019 #, # 1/1/2021 #)Kết thúc Sub

Tuần

123 Sub DateDiff_Week ()MsgBox "số tuần:" & DateDiff ("w", # 1/1/2019 #, # 1/1/2021 #)Kết thúc Sub

Giờ

123456789101112 Sub DateDiff_Hour ()Dim dt1 As DateDim dt2 As DateDim nDiff As Longdt1 = # 8/14/2019 9:30:00 SA #dt2 = # 8/14/2019 1:00:00 CH #nDiff = DateDiff ("h", dt1, dt2)MsgBox "giờ:" & nDiffKết thúc Sub

Phút

123 Sub DateDiff_Minute ()MsgBox "phút:" & DateDiff ("n", # 8/14/2019 9:30:00 AM #, # 8/14/2019 9:35:00 AM #)Kết thúc Sub

Giây

123 Sub DateDiff_Second ()MsgBox "giây:" & DateDiff ("s", # 8/14/2019 9:30:10 AM #, # 8/14/2019 9:30:22 AM #)Kết thúc Sub

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave