VBA CDATE | Làm thế nào để sử dụng CDATE trong Excel VBA? (với các ví dụ)

Hàm CDATE trong VBA

VBA CDATE là một hàm chuyển đổi kiểu dữ liệu chuyển đổi kiểu dữ liệu là văn bản hoặc chuỗi thành kiểu dữ liệu ngày tháng. Sau khi giá trị được chuyển đổi thành kiểu dữ liệu ngày tháng thì chúng ta có thể thử nghiệm với nội dung ngày tháng.

Cú pháp của CDATE

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

Biểu thức: Biểu thức có thể là một chuỗi hoặc giá trị văn bản hoặc một biến chứa giá trị được chuyển đổi thành kiểu dữ liệu ngày.

CDATE xác định định dạng ngày và giờ trong máy tính mà chúng tôi đang làm việc và chuyển đổi giá trị được cung cấp thành cùng một kiểu dữ liệu ngày. Nếu bạn chỉ cung cấp ngày và tháng và bỏ qua năm, thì hàm CDATE lấy năm của hệ thống, hiển thị cùng với ngày và tháng được cung cấp.

Chúng ta sẽ xem thêm nhiều ví dụ khác trong phần bên dưới.

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

Ví dụ về Hàm CDATE trong excel vba.

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

Ví dụ 1

Trước khi tôi cho bạn xem ví dụ về CDATE, hãy xem đoạn mã dưới đây trước.

Mã:

 Sub CDATE_Example1 () Dim k As String k = "25-12" MsgBox k End Sub 

Trong phần trên cho biến “k”, tôi đã gán giá trị là “25-12”. Khi tôi thực thi mã này, chúng tôi sẽ thấy cùng một giá trị trong hộp thông báo trong VBA.

Nhưng điều này có thể được chuyển đổi sang ngày tháng bằng cách sử dụng hàm VBA CDATE. Đối với điều này, hãy xác định một biến nữa là Ngày.

Mã:

 Dim k1 As Date 

Đối với biến này “k1” gán hàm CDATE và cung cấp biến “k” chứa chuỗi “25-12”. Và đối với hộp thông báo, hiển thị giá trị biến là “k1” thay vì “k”.

Mã:

k1 = CDate (k)

Bây giờ hãy chạy mã và xem kết quả trong một hộp thông báo.

Vì vậy, kết quả là "12/25/2019".

Xem xét kỹ giá trị mà chúng tôi đã cung cấp, chúng tôi đã cung cấp “25-12” năm mà chúng tôi chưa cung cấp.

Trong khi viết bài này, năm hiện tại trong hệ thống của tôi là 2019, vì vậy VBA CDATE đã chuyển đổi giá trị chuỗi “25-12” thành ngày và thêm năm hệ thống 2019 vào đó. Vì vậy, kết quả cuối cùng được đọc như thế này 25/12/2019 tức ngày 25 tháng 12 năm 2019.

Ví dụ số 2

Bây giờ, hãy xem đoạn mã dưới đây.

Mã:

 Sub CDATE_Example2 () Dim k As Variant Dim kResult As Date k = 43889 kResult = CDate (k) MsgBox kResult End Sub 

Trong đoạn mã trên cho biến “k”, tôi đã áp dụng số “43889”. Tất cả chúng ta đều biết đây là một số sê-ri nhưng đối với một biến khác “KResult”, chúng tôi đã chuyển đổi giá trị này cho đến nay bằng cách sử dụng hàm “CDATE”.

Kết quả tương tự của biến “kResult” được hiển thị trong hộp thông báo.

Chạy mã và xem sự kỳ diệu của chức năng “CDATE”.

Nó hiển thị kết quả là “2/28/2020”, nếu bạn không quen với ngày tháng trong excel thì chắc hẳn bạn đang tự hỏi điều này đã xảy ra như thế nào.

Ví dụ: nhập cùng một số (43889) vào một trong các ô trong bảng tính.

Đối với điều này, hãy áp dụng định dạng là “DD-MM-YYYY”.

Bây giờ bấm vào Ok và xem kết quả.

Bây giờ kết quả đã thay đổi từ một số sê-ri cho đến nay. Bởi vì chúng tôi đã áp dụng định dạng ngày trên đầu số sê-ri, nó đã hiển thị ngày tương ứng.

Vì vậy, điều này có nghĩa là số sê-ri 43889 bằng ngày 28-02-2020.

Vì vậy, trong mã VBA, hàm CDATE của chúng tôi đã thực thi điều tương tự bằng cách chuyển đổi giá trị chuỗi thành kiểu dữ liệu ngày.

Ví dụ # 3

Đối với ví dụ này, hãy xem đoạn mã dưới đây.

 Sub CDATE_Example3 () Dim Value1 Dim Value2 Dim Value3 Value1 = "December 24, 2019" Value2 = # 6/25/2018 # Value3 = "18:30:48 PM" MsgBox CDate (Value1) MsgBox CDate (Value2) MsgBox CDate ( Value3) End Sub 

Khi chúng tôi chạy mã này, chúng tôi sẽ nhận được kết quả bên dưới.

Vì vậy, tất cả các giá trị được chuyển đổi thành kiểu dữ liệu ngày với hàm CDATE.

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

  • CDATE chỉ chuyển đổi số và giá trị chuỗi thành kiểu dữ liệu ngày.
  • Điều này rất hữu ích khi chúng ta sử dụng nó với các chức năng khác.
  • Nếu giá trị kiểu dữ liệu sai được cung cấp thì chúng ta sẽ nhận được lỗi kiểu không khớp.
  • Vì ngày và giờ là một phần của số sê-ri nên nó chuyển đổi thời gian cũng như thời gian thích hợp.

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