Hàm ngày VBA | Làm thế nào để sử dụng Hàm Ngày trong Excel VBA?
Hàm VBA DATE trong Excel
VBA Date là một hàm Date and Time, nó chỉ trả về ngày hiện tại theo ngày hệ thống mà bạn đang sử dụng, điều quan trọng cần lưu ý là hàm này không có đối số nào trong đó, một yếu tố quan trọng khác cần nhớ là hàm này trả về ngày hệ thống hiện tại.
Trong excel, chúng ta không thể sống thiếu một số hàm và “VBA Date” là một trong những hàm đó. Nếu bạn là người thường xuyên sử dụng trang tính excel thì bạn phải biết một hàm có tên “TODAY ()” sẽ trả về ngày hiện tại theo ngày hệ thống.
Ngày là một hàm rất đơn giản và nó chỉ trả về ngày hiện tại theo ngày hệ thống mà bạn đang sử dụng. Điều này hoạt động rất giống với hàm trang tính của chúng tôi “TODAY” nhưng không dễ bay hơi về bản chất.
Cú pháp của hàm DATE trong excel rất đơn giản vì nó không có đối số để cung cấp và chỉ bao gồm dấu ngoặc đơn trống.
Ngày ()
Dấu ngoặc đơn chỉ để giải thích hàm khi bạn sử dụng hàm mà không cần nhập dấu ngoặc.
Làm thế nào để sử dụng Hàm Ngày trong Excel VBA?
Bạn có thể tải mẫu VBA Date Excel này tại đây - Mẫu VBA Date ExcelVí dụ 1
Giả sử bạn muốn chèn ngày hiện tại vào ô A1, sau đó làm theo các bước dưới đây để viết mã chèn ngày hiện tại vào ô A1.
Bước 1: Tạo tên macro.
Mã:
Sub Date_Example1 ()
Bước 2: Vì chúng ta cần lưu trữ ngày hiện tại trong ô A1 nên mã của chúng ta sẽ là Phạm vi (“A1”). Giá trị .
Mã:
Sub Date_Example1 () Range ("A1"). Giá trị End Sub
Bước 3: Trong ô A1, chúng ta cần ngày hiện tại, vì vậy hãy sử dụng hàm DATE.
Mã:
Sub Date_Example1 () Range ("A1"). Giá trị = Ngày kết thúc Sub
Bước 4: Ok, chúng ta đã hoàn tất. Hãy chạy mã này ngay bây giờ bằng cách nhấn phím F5 hoặc bạn cũng có thể chạy mã theo cách thủ công như được hiển thị trong ảnh chụp màn hình bên dưới. Chúng tôi sẽ nhận được ngày hiện tại trong ô A1.
Vì vậy, khi tôi viết mã này, ngày hiện tại trong hệ thống của tôi là "ngày 15 tháng 3 năm 2019".
Lưu ý: Định dạng ngày của bạn phụ thuộc vào cài đặt windows của bạn. Dù sao, bạn có thể thay đổi định dạng của ngày trong các ô định dạng.
Ví dụ số 2
Giả sử bạn là một đại lý LIC và bạn có một số khách hàng để giao dịch. Một trong những đối tượng quan trọng là phải biết ngày hôm nay đến hạn thanh toán của ai để bạn có thể gọi cho họ và thu tiền ngay lập tức.
Giả sử bên dưới là danh sách khách hàng bạn có trong cơ sở dữ liệu của mình.
Tôi đã viết một đoạn mã sẽ thông báo cho bạn ngay khi bạn mở tệp excel.
Mã:
Sub Due_Notifier () Dim Duedate As Date Dim i As Long Duedate = Date i = 2 For i = 2 To Cells (Rows.Count, 1) .End (xlUp) .Row If Duedate = DateSerial (Year (Date), Month ( Cells (i, 3) .Value), Day (Cells (i, 3) .Value)) Sau đó MsgBox "Tên khách hàng:" & Cells (i, 1) .Value & vbNewLine & "Premium Amount:" & Cells (i , 2). Giá trị Kết thúc Nếu Tiếp theo Tôi Kết thúc Phụ
Sao chép mã trên và dán vào mô-đun VBA.
Bây giờ nhấp đúp vào tùy chọn “Sổ làm việc này”.
Bây giờ chọn “Workbook” từ menu thả xuống ở trên.
Ngay sau khi bạn chọn tùy chọn “Workbook”, bạn có thể thấy một macro riêng tư tự động mở ra.
Ở đây tên macro cho biết “Workbook_Open ()” điều này có nghĩa là bất cứ khi nào sổ làm việc này mở ra, bạn phải làm gì. Bất cứ khi nào sổ làm việc này mở ra, chúng ta cần chạy macro mà chúng ta đã tạo.
Vì vậy, ở đây chúng ta cần gọi macro của chúng ta mà chúng ta đã tạo bằng tên của nó. Trong đoạn mã trên, tên macro của chúng tôi là “Due_Notifier”.
Mã:
Call Due_Notifier
Bây giờ hãy lưu sổ làm việc này và đóng nó.
Sau khi đóng nó, hãy mở sổ làm việc và xem điều kỳ diệu.
Bây giờ tôi sẽ mở….
Chà !!! Nó hiển thị cho tôi tên khách hàng và số tiền đến hạn của họ cho ngày hiện tại.
Tên Khách hàng là “Amar” và số tiền đến hạn là “20883”. Lý do tại sao nó lại hiển thị tên khách hàng này vì ngày đáo hạn của Mr Amar là ngày 15 tháng 3 năm 2019 tức là Hôm nay.
Bây giờ bấm vào Ok, nó sẽ hiển thị tên khách hàng khác nếu ngày đến hạn là ngày hôm nay.
Nó hiển thị tên ông Arvind, ngày dự sinh của ông cũng là ngày 15 tháng 3 năm 2019.
Giờ đây, bạn có thể dễ dàng xác định tên khách hàng ngay khi đến văn phòng. Một trong những cơn đau đầu lớn đã biến mất.
Tương tự, tôi đã tạo thêm một macro excel nữa sẽ gửi email sinh nhật tự động từ triển vọng của bạn.
Ví dụ # 3
Giả sử bạn thuộc “Nhóm gắn kết nhân viên” và bạn có trách nhiệm gửi email chúc mừng sinh nhật cho nhân viên của mình. Xác định và gửi email cho từng email riêng biệt là một công việc khó khăn.
Xin chào, bạn thân mến của tôi, đừng lo lắng, tôi đã tạo macro để bạn gửi email sinh nhật tự động cho nhân viên của bạn.
Tôi đã tạo một số dữ liệu để kiểm tra và dưới đây là hình ảnh của cùng một.
Bạn chỉ cần cập nhật tổng thể nhân viên theo các tiêu đề của bảng. Dưới đây là mã để gửi email.
Sao chép mã dưới đây và dán vào mô-đun.
Sub Birthday_Wished () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Dim Mydate As Date Dim i As Long Set OutlookApp = New Outlook.Application Mydate = Date i = 2 For i = 2 To Cells (Rows.Count, 1) .End (xlUp) .Row Đặt OutlookMail = OutlookApp.CreateItem (olMailItem) If Mydate = DateSerial (Year (Date), Month (Cells (i, 5) .Value), Day (Cells (i, 5) .Value)) Sau đó OutlookMail.To = Cells (i, 7) .Value OutlookMail.CC = Cells (i, 8) .Value OutlookMail.BCC = "" OutlookMail.Subject = "Happy Birthday -" & Cells (i, 2) .Value OutlookMail .Body = "Dear" & Cells (i, 2) .Value & "," & vbNewLine & vbNewLine & _ "Thay mặt ban lãnh đạo, chúng tôi chúc các bạn một ngày thứ hai vui vẻ và chúng tôi chúc tất cả thành công trong tương lai sắp tới" & vbNewLine & _ vbNewLine & "Trân trọng,"& vbNewLine & "StrIDE Team" OutlookMail.Display OutlookMail.Send End If Next i End Sub
Ngay sau khi bạn đến văn phòng, chỉ cần mở tệp và chạy mã này, nó sẽ tự động gửi lời chúc sinh nhật đến id email tương ứng.
Lưu ý: Bạn nên cấu hình Outlook trong hệ thống của mình.