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

Hàm DateValue VBA là gì?

Hàm DateValue là một hàm tích hợp sẵn trong Excel VBA thuộc thể loại của hàm Ngày / giờ. Nó hoạt động như cả hàm VBA và hàm trang tính trong VBA. Hàm này trả về số sê-ri hoặc giá trị của Ngày được cung cấp ở định dạng biểu diễn chuỗi bỏ qua thông tin về thời gian được cung cấp bởi chuỗi Ngày. Nó được sử dụng theo hai cách khác nhau trong Excel. Hàm này được sử dụng như một công thức trang tính nhập vào một ô trang tính. Nó được sử dụng làm mã macro trong ứng dụng VBA, nhập nó thông qua Visual Basic Editor được liên kết với Microsoft Excel.

Trong bài viết này, chúng ta sẽ tìm hiểu các ví dụ về VBA DATEVALUE và cách sử dụng nó với giải thích rõ ràng.

Giải thích về Hàm Datevalue VBA

Trong VBA, DATEVALUE sử dụng cú pháp sau.

Hàm này chỉ sử dụng một Đối số hoặc Tham số duy nhất

  • Ngày : Là ngày được biểu thị ở định dạng chuỗi
  • Trả về: Hàm này trả về giá trị của ngày khi nó được sử dụng như một hàm VBA. Nó trả về giá trị ngày tháng khi nó được sử dụng như một hàm trang tính

Hàm VBA DateValue có thể giải thích dữ liệu được trình bày ở định dạng văn bản được đề cập ở định dạng Excel hợp lệ. Nó không thể trả về giá trị ngày nếu chuỗi bao gồm biểu thị văn bản của ngày trong tuần.

Lợi ích của hàm VBA DateValue là trích xuất giá trị ngày từ chuỗi và chuyển đổi ngày theo thời gian thành ngày duy nhất. Chúng ta có thể đơn giản rằng khi một ngày được đưa ra cùng với thời gian, hàm này chỉ giá trị ngày tránh giá trị thời gian.

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

Để sử dụng hàm DateValue trong Excel, trước tiên cần mở trình chỉnh sửa VBA.

Nút lệnh cần được đặt trong trang tính Excel để thêm các dòng của chương trình VBA vào đó. Để thực hiện các dòng của chương trình, người dùng yêu cầu bấm vào nút lệnh trong trang tính excel. Để có đầu ra hợp lệ từ chương trình, đầu vào hợp lệ được đưa ra thông qua đối số. Ví dụ: đoạn mã sau đây giúp tạo macro để chạy hàm DateValue để trích xuất giá trị ngày tháng từ văn bản trong VBA.

Chương trình VBA:

Sub Datebutton () Dim myDate As Date myDate = DateValue (“15 tháng 8, 1991”) MsgBox Date (myDate) End Sub

Mã này dẫn đến ngày là 15 từ đầu vào đã cho.

Ví dụ về Excel VBA DATEVALUE

Dưới đây là các ví dụ về DateValue trong Excel VBA.

Ví dụ # 1 - Lấy Ngày, Tháng và Năm từ một Ngày

Sau một số bước để tạo và thực thi chương trình trong VBA. Chúng bao gồm

Bước 1: Đi tới Tab Nhà phát triển, đặt con trỏ vào một ô trong trang tính Excel và nhấp vào tùy chọn 'Chèn' và chọn 'Nút lệnh' trong Điều khiển ActiveX, như trong hình.

Kéo Nút đến nơi bạn muốn và đặt chú thích là Nút ngày từ cửa sổ thuộc tính.

Bước 2: Nhấp đúp vào nút; nó sẽ chuyển hướng đến dự án VBA và viết mã giữa nút lệnh Private Sub và sub-end.

Mã sẽ được phát triển như bên dưới để lấy ngày, tháng và năm.

Mã:

Ngày phụ cá nhân

Trong đoạn mã này, Datebutton1_Click () là tên và ngày mẫu là biến với kiểu dữ liệu Ngày và Msgbox để hiển thị đầu ra.

Bước 3: Trong khi phát triển mã, lỗi không khớp kiểu VBA sẽ xảy ra và cần phải xử lý chúng.

Bước 4: Trong bước này, chạy chương trình nhấp vào tùy chọn chạy.

Hoặc chúng ta có thể kiểm tra hoặc gỡ lỗi chương trình từng bước, chọn tùy chọn Step Into trong menu Debug. Nếu mã của chúng tôi không có bất kỳ lỗi nào, nó sẽ hiển thị đầu ra.

Bước 5 : Khi chương trình được thực hiện, đầu tiên nó sẽ hiển thị hộp thông báo với ngày tháng được đưa ra trong phần nhập văn bản. Tiếp theo, bạn bấm vào OK để xem lại giá trị năm, bấm OK trên ô thông báo để xem giá trị tháng.

Lưu ý: Các bước này phải được thực hiện rõ ràng để có kết quả chính xác.

Ví dụ # 2 - Sử dụng DatePart để lấy các phần khác nhau của ngày

Bước 1: Đi tới Tab Nhà phát triển Excel, đặt con trỏ vào một ô trong trang tính Excel và nhấp vào tùy chọn 'Chèn' và chọn 'Nút lệnh' trong Điều khiển ActiveX, như trong hình.

Bước 2: Kéo nút và đặt chú thích là DatePart dưới thuộc tính.

Nhấp đúp vào nút này. Nó hướng đến trang tính của Visual Basic Editor và hiển thị như sau.

Step 3: Develop the code using the DatePart with DateValue, as shown in the figure.

Code:

Private Sub Datepart1_Click() Dim partdate As Variant partdate = DateValue("8/15/1991") MsgBox partdate MsgBox Datepart("yyyy", partdate) MsgBox Datepart("dd", partdate) MsgBox Datepart("mm", partdate) MsgBox Datepart("q", partdate) End Sub

In this program, DatePart1 is the macro name, and partDate is the argument name with data type ‘variant.’ For displaying year, date, month, and a quarter, the format is applied as “yyyy,” “d,” “m,” and “q.” If we make any mistake in the format, it displays the following error.

Step 4: After successful debugging of the program, run the program by clicking on the run button to use excel shortcut key F5.

The code first displays the full date, and then after clicking every OK from the msgbox, it shows the year value after that Date value, Month Value, Quater Value, respectively.

Things to Remember About the VBA DATEVALUE

The following things must be remembered while using the DateValue function in Excel VBA

  • Run time error 13 with message Type Mismatch is displayed when the date provided to the DateValue function is not able to convert into a valid date. We need date is a proper text format
  • When we try to get the only date from the string argument with code ‘msgbox date (argument name),’ it displays the type mismatch error.
  • We can see the output of the DateValue function without opening the VBA editor. It is done by clicking the command button and select the macro created for the respective program.
  • Khi DatePart được sử dụng để lấy các giá trị, định dạng thích hợp phải được tuân theo. Nếu không, nó dẫn đến 'lỗi thời gian chạy 5' với thông báo cuộc gọi hoặc đối số thủ tục không hợp lệ.

thú vị bài viết...