Tìm hiểu cách làm việc với ngày và giờ trong Excel VBA.

Đặt một liên kết: / vba-create-a-macro # command-button [command button] trên trang tính của bạn và thêm các dòng mã bên dưới. Để thực hiện các dòng mã, hãy nhấp vào nút lệnh trên trang tính.

Năm, Tháng, Ngày của một ngày

Macro sau đây lấy năm của một ngày. Để khai báo ngày tháng, hãy sử dụng câu lệnh Dim. Để khởi tạo một ngày, hãy sử dụng hàm DateValue.

Mã:

Dim exampleDate As Date



exampleDate = DateValue("Jan 19, 2020")

MsgBox Year(exampleDate)

Kết quả:

Year of a Date in Excel VBA

Lưu ý: Sử dụng Tháng và Ngày để lấy tháng và ngày của một ngày.

DateAdd

Để thêm một số ngày vào một ngày, hãy sử dụng hàm DateAdd. Hàm DateAdd có ba đối số. Điền vào “d” cho đối số đầu tiên để thêm ngày. Điền vào 3 cho đối số thứ hai để thêm 3 ngày. Đối số thứ ba đại diện cho ngày mà số ngày sẽ được thêm vào.

Mã:

Dim firstDate As Date, secondDate As Date

firstDate = DateValue("Jan 19, 2020")

secondDate = DateAdd("d", 3, firstDate)

MsgBox secondDate

Kết quả:

DateAdd

Lưu ý: Thay đổi “d” thành “m” để thêm một số tháng vào một ngày. Đặt con trỏ của bạn vào DateAdd trong Visual Basic Editor và nhấp vào F1 để được trợ giúp về các bộ chỉ định khoảng thời gian khác. Ngày ở Định dạng Hoa Kỳ. Tháng đầu tiên, Ngày thứ hai. Loại định dạng này phụ thuộc vào cài đặt khu vực cửa sổ của bạn.

Ngày và giờ hiện tại

Để lấy ngày và giờ hiện tại, hãy sử dụng chức năng Now.

Mã:

MsgBox Now

Kết quả:

Current Date and Time

Giờ, phút, giây

Nhận giờ của một thời gian, hãy sử dụng chức năng Giờ.

Mã:

MsgBox Hour(Now)

Kết quả:

Hour of the Current Time

Lưu ý: Sử dụng Minute and Second để lấy phút và giây của thời gian.

TimeValue

Hàm TimeValue chuyển đổi một chuỗi thành số sê-ri thời gian. Số sê-ri của thời gian là một số từ 0 đến 1. Ví dụ: buổi trưa (nửa ngày) được biểu thị bằng 0,5.

Mã:

MsgBox TimeValue("9:20:01 am")

Kết quả:

TimeValue

Bây giờ, để thấy rõ rằng Excel xử lý thời gian nội bộ dưới dạng số từ 0 đến 1, hãy thêm các dòng mã sau:

Dim y As Double

y = TimeValue("09:20:01")

MsgBox y

Kết quả:

Time Serial Number