Hàm DATEDIFF là một trong những hàm thời gian thường gặp trong Excel, được sử dụng để tính khoảng cách giữa 2 mốc thời gian. Ngoài ra, cũng có một hàm với chức năng tương tự hàm DATEIF, đó là hàm DATEDIFF trong VBA. Rất dễ bị nhầm lẫn 2 hàm này với nhau vì chức năng và tên gọi tương đối giống nhau. Trong bài viết này, Gitiho sẽ giới thiệu tới bạn hàm DATEDIFF trong VBA, cú pháp và ứng dụng của hàm DATEDIFF trong VBA Excel.
Thành thạo hàm DATEDIFF với Tuyệt đỉnh VBA
XEM NHANH BÀI VIẾT
Hàm DATEDIFF trong VBA được viết như sau:
=DATEDIFF(interver, date 1, date 2, [first_day_of_week], [first_week_of_year])
Trong đó:
Interval: Là đại lượng tính để tính khoảng thời gian cần tìm (Ngày, tháng, năm, quý, giờ, phút...). Các đại lượng này khi dùng trong công thức của hàm DATEDIFF tronG VBA được biểu diễn bằng cách ký hiệu như sau:
Xem thêm: Giới thiệu cách sử dụng Autofilter giữa các khoảng thời gian trong VBA
Ví dụ
Ta sử dụng hàm DATEDIFF trong VBA như sau:
Private Sub Constant_demo_Click()
Dim fromDate as Variant
fromDate = “01-Jan-09 00:00:00”
Dim toDate as Variant
toDate = “01-Jan-10 23:59:00”
msgbox("Line 1 : " &DateDiff("yyyy",fromDate,toDate))
msgbox("Line 2 : " &DateDiff("q",fromDate,toDate))
msgbox("Line 3 : " &DateDiff("m",fromDate,toDate))
msgbox("Line 4 : " &DateDiff("y",fromDate,toDate))
msgbox("Line 5 : " &DateDiff("d",fromDate,toDate))
msgbox("Line 6 : " &DateDiff("w",fromDate,toDate))
msgbox("Line 7 : " &DateDiff("ww",fromDate,toDate))
msgbox("Line 8 : " &DateDiff("h",fromDate,toDate))
msgbox("Line 9 : " &DateDiff("n",fromDate,toDate))
msgbox("Line 10 : "&DateDiff("s",fromDate,toDate))
End Sub
Kết quả trả về:
Line 1 : 1
Line 2 : 4
Line 3 : 12
Line 4 : 365
Line 5 : 365
Line 6 : 52
Line 7 : 52
Line 8 : 8783
Line 9 : 527039
Line 10 : 31622340
Cho 2 mốc thời gian là 22/11/2003 và 22/11/2013. Tính số năm giữa 2 mốc thời gian này. Ta sẽ có công thức như sau:
=DATEDIFF("yyyy", "22/11/2003", "22/11/2013")
Trong đó:
Cho 2 mốc thời gian là 22/11/2016 và 15/09/2018. Tính số tháng giữa 2 mốc thời gian này. Ta có sub như sau:
Sub DADEDIFF_Test_02()
Range("A2"). Value = DATEDIFF("m", "22/11/2016", "15/09/2018")
End Sub
Kết quả trả về giá trị ô tại A2 đã được gắn là 22.
Chúng ta có thể dễ dàng tạo ra thêm hàm tự tạo theo ý muốn để phục vụ cho việc tính khoảng cách giữa 2 mốc thời gian được nhanh chóng và tiện lợi hơn bằng cách viết Function trong VBA dựa trên công thức hàm DATEDIFF trong VBA
Ví dụ, muốn viết hàm xác định khoảng cách số ngày giữa 2 mốc thời gian, ta sẽ viết Function sau đây vào 1 Module của VBA:
Function KhoangCachNgay (NgayBD as Date, NgayKT as Date) as Long
KhoangCachNgay = DATEDIFF("d", NgayBD, NgayKT)
End Function
Như vậy, trong bài viết trên, Gitiho đã giới thiệu tới bạn một hàm vừa lạ vừa quen trong VBA Excel - Hàm DATEDIFF trong VBA. Việc áp dụng hàm DATEDIFF trong VBA làm cho việc tính khoảng cách giữa 2 mốc thời gian trở nên nhanh chóng và tiện lợi hơn rất nhiều đó!
Sử dụng VBA trong Excel giúp cho quá trình làm việc với bảng tính Excel trở nên đơn giản và nhanh chóng hơn rất là nhiều, kể cả những tệp Excel với rất nhiều bảng tính và nhiều dữ liệu.
Tài liệu kèm theo bài viết
Khóa học phù hợp với bất kỳ ai đang muốn tìm hiểu lại Excel từ con số 0. Giáo án được Gitiho cùng giảng viên thiết kế phù hợp với công việc thực tế tại doanh nghiệp, bài tập thực hành xuyên suốt khóa kèm đáp án và hướng dẫn giải chi tiết. Tham khảo ngay bên dưới!