Hàm DATEDIF là một hàm khá thông dụng trong Excel giúp chúng ta tính được khoảng cách giữa 2 mốc thời gian. Và trong VBA chúng ta có một hàm tương tự là hàm DATEDIFF (có nhiều hơn 1 chữ F). Trong bài viết này chúng ta cùng tìm hiểu cách sử dụng hàm DATEDIFF trong VBA Excel nhé.
Xem nhanh
Hàm DateDiff trong VBA được viết như sau:
DateDiff( interval, date1, date2, [first_day_of_week], [first_week_of_year] )
Trong đó:
Interval: Ký hiệu đại diện cho khoảng thời gian cần tìm, gồm các loại ký hiệu:
Date1 và Date2: Là 2 mốc thời gian cần xét
First_day_of_week: (Không bắt buộc): Số chỉ định ngày đầu tuần là thứ mấy. Nếu không sử dụng thì mặc định là ngày Chủ nhật
First_week_of_year: (Không bắt buộc): Số chỉ định tuần đầu tiên của năm là tuần chứa ngày nào. Nếu không sử dụng thì mặc định là tuần chứa ngày 01 tháng 01 là tuần đầu tiên của năm.
Kết quả trả về của hàm DateDiff là 1 con số.
Tính khoảng cách số năm từ ngày 22/11/2003 tới ngày 22/11/2013:
Cú pháp:
DateDiff(“yyyy”, “22/11/2003” , “22/11/2013”)
Khi gán giá trị kết quả vào ô A1, ta được kết quả là số 10
Tính khoảng cách số tháng từ ngày 22/11/2016 tới ngày 15/09/2018:
Sub DateDiff_Test_02()
Range(“A2”).Value = DateDiff(“m”, “22/11/2016”, “15/09/2018”)
End Sub
Kết quả của Sub trên cho chúng ta giá trị trong ô A2 (của Sheet đang được Active) là 22.
Bạn hoàn toàn có thể tự tạo ra các hàm theo ý muốn để tính khoảng cách giữa 2 thời điểm cụ thể bằng cách viết Function trong VBA.
Ví dụ: Hàm xác định khoảng cách số ngày giữa 2 mốc thời gian:
Trong VBA bạn viết Function sau đây vào 1 Module:
Function KhoangCachNgay (NgayBD as Date, NgayKT as Date) as Long
KhoangCachNgay = DateDiff(“d”, NgayBD, NgayKT)
End Function
Trong Workbook chứa Function trên, bạn có thể sử dụng hàm:
Rất đơn giản phải không nào. Chúc các bạn áp dụng tốt kiến thức này vào công việc.
Ngoài ra bạn có thể tìm hiểu thêm một số nội dung:
Hướng dẫn cách viết hàm tự tạo trong Excel bằng VBA
Hướng dẫn cách thay đổi kích thước danh sách xổ xuống trong Data Validation bằng VBA Excel
Tìm hiểu sự khác nhau giữa các thuộc tính Text Value và Value2 của đối tượng Range trong VBA