Hàm DateSerial VBA | Làm thế nào để sử dụng Hàm DateSerial? (Ví dụ)

Hàm DateSerial VBA trong Excel

Hàm DateSerial trong VBA trả về ngày tháng từ các giá trị do người dùng cung cấp. Chúng ta cần cung cấp những gì là năm, là ngày, và tháng. Kết quả sẽ dựa trên định dạng ngày của hệ thống của bạn.

Dưới đây là cú pháp của hàm DATESERIAL .

# 1 - Năm: chúng ta cần nhập số nguyên là năm là gì? Trong khi cung cấp số nguyên, chúng ta cần lưu ý những điều dưới đây.

  • Chúng tôi có thể cung cấp các số từ 0 đến 9999.
  • Các số có một & hai chữ số từ 0 đến 99 sẽ được xử lý từ năm 1930 đến năm 2029.
  • Số nguyên âm sẽ bị trừ cho năm 2000. Ví dụ, nếu bạn cung cấp -1 thì kết quả sẽ là 1999 vì 2000 - 1 = 1999.

# 2 - Tháng: chúng ta cần nhập số nguyên là tháng là gì? Trong khi nhập số này, chúng ta cần ghi nhớ những điều dưới đây.

  • Chúng tôi chỉ có thể cung cấp số lượng từ 1 đến 12.
  • Nếu giá trị số nguyên được cung cấp là 0 thì giá trị này sẽ đại diện cho tháng “tháng 12” của năm trước.
  • Nếu giá trị số nguyên được cung cấp là -1 thì giá trị này sẽ đại diện cho tháng “tháng 11” của năm trước. Như vậy khi giá trị âm tăng lên, nó sẽ tiếp tục đại diện cho tháng lùi của năm.
  • Nếu số được cung cấp nhiều hơn 12, tức là nếu số là 13 thì nó sẽ đại diện cho tháng “tháng Giêng” của năm sau, nếu số là 14 thì nó sẽ được coi là tháng “tháng hai” của năm tiếp theo.

# 3 - Ngày: chúng ta cần nhập số nguyên là ngày là gì? Trong khi nhập số này, chúng ta cần ghi nhớ những điều dưới đây.

  • Chúng ta có thể nhập các số nguyên từ 1 đến 31 cho các ngày trong tháng hiện tại.
  • Nếu số là 0, nó sẽ đại diện cho ngày cuối cùng của tháng trước.
  • Nếu số là -1, nó sẽ đại diện cho ngày cuối cùng thứ hai của tháng trước.
  • Nếu bạn cung cấp ngày cuối cùng của tháng này +1 thì ngày này sẽ đại diện cho ngày đầu tiên của tháng tiếp theo. Ví dụ: nếu ngày cuối cùng của tháng 8 là 31 và nếu bạn cung cấp ngày là 31 + 1 thì ngày đó sẽ đại diện cho ngày đầu tiên của tháng 9.

Làm thế nào để sử dụng hàm DATESERIAL trong VBA?

Bạn có thể tải xuống Mẫu VBA DateSerial Excel này tại đây - Mẫu VBA DateSerial Excel

Ví dụ 1

Để sử dụng hàm DATESERIAL, hãy bắt đầu viết mã macro.

Bước 1: Bắt đầu thủ tục phụ

Đầu tiên, tạo một quy trình con VBA như hình dưới đây.

Bước 2: Khai báo biến

Bây giờ hãy khai báo một biến là DATE.

Bước 3: Gán Hàm DateSerial cho biến đó.

Bây giờ cho biến này, hãy gán hàm DATESERIAL.

Bước 4: Bây giờ nhập các giá trị năm, tháng và ngày trong hàm DateSerial

Đối với cung NĂM 2019, cung THÁNG 08 và cung NGÀY 05.

Bước 5: Hiển thị kết quả trong hộp tin nhắn

Bây giờ hiển thị kết quả của biến “Ngày của tôi” trong hộp thông báo.

Mã:

 Option Explicit Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub 

Bước 6: Chạy mã

Bây giờ hãy chạy mã này để xem ngày bên dưới.

Kết quả cho biết "8/5/2019". Trong hệ thống của tôi, định dạng ngày tháng ở dạng “MM-DD-YYYY”, vì vậy đó là lý do tại sao kết quả cũng ở định dạng tương tự.

Chúng ta cũng có thể thay đổi định dạng của ngày bằng cách sử dụng hàm FORMAT trong VBA. Áp dụng chức năng ĐỊNH DẠNG như bên dưới.

Mã:

 Tùy chọn Ngày phụ rõ ràng NgàySerial_Example1 () Ngày làm mờ của tôi là ngày Mydate = DateSerial (2019, 8, 5) Định dạng MsgBox (Mydate, "DD-MMM-YYYY") Kết thúc phụ 

Điều này sẽ áp dụng định dạng trong “DD-MMM-YYYY” và kết quả như sau.

Ví dụ số 2

Chúng ta cũng có thể khai báo các biến và cung cấp giá trị cho các biến đó. Để biết ví dụ, hãy xem đoạn mã dưới đây.

Mã:

 Sub DateSerial_Example2 () Dim Mydate As Date Dim MyYear As Integer Dim MyMonth As Integer Dim MyDay As Integer MyYear = 2019 MyMonth = 8 MyDay = 5 Mydate = DateSerial (MyYear, MyMonth, MyDay) Định dạng MsgBox (Mydate, "DD-MMM-YYYY ") Kết thúc Sub 

Thay vì cung cấp trực tiếp năm, tháng và ngày cho hàm DATESERIAL, chúng ta đã khai báo các biến và gán giá trị cho chúng. Sau đó, chúng tôi đã cung cấp các biến cho hàm DATESERIAL.

Đây là cách chúng ta có thể sử dụng các biến trong VBA để lưu trữ các giá trị.

Ví dụ # 3

Bây giờ chúng ta sẽ thử nghiệm với năm. Tôi sẽ gán giá trị năm là 1 và xem kết quả.

Các số có một và hai chữ số trong YEAR đại diện cho một năm từ 1930 đến 2029. Vì vậy, 01 có nghĩa là 2001, 02 có nghĩa là 2002, v.v.

Bây giờ chúng ta hãy thay đổi số tháng thành 0 và xem kết quả.

Nhìn vào mã ở đây, Năm là 2019 và tháng là 0. Nhưng nhìn vào kết quả, nó cho biết từ ngày 05 đến tháng 12 năm 2019, trong khi năm cung ứng là 2019 thì nó nói là 2018 tức là năm trước.

Điều này là do chúng tôi đã cung cấp tháng dưới dạng 0 hàm DATESERIAL lấy tháng thành tháng cuối cùng của năm trước và thay đổi năm cũng tương ứng.

Như thế này, hãy thử các con số khác nhau để xem tác động của hàm.

Những điều cần ghi nhớ

  • Bạn cần biết con số đại diện cho năm, tháng và nhà trẻ. Đọc kỹ giải thích Cú pháp để hiểu.
  • Kết quả sẽ dựa trên định dạng ngày của hệ thống của bạn, nếu bạn muốn kết quả sửa đổi thì bạn cần áp dụng hàm FORMAT đề cập đến định dạng ngày tùy theo sự thuận tiện của bạn.

$config[zx-auto] not found$config[zx-overlay] not found