VBA Chuyển đổi chuỗi thành ngày tháng

Mục lục

Hướng dẫn ngắn này sẽ trình bày cách chuyển đổi Chuỗi thành Ngày trong VBA.

Ngày trong Excel được lưu trữ dưới dạng số, sau đó được định dạng để hiển thị dưới dạng ngày tháng. Ngày 1 trong thế giới Excel là ngày 1 tháng 1 năm 1900 (mặc định của Windows) hoặc ngày 1 tháng 1 năm 1904 (mặc định của Macintosh) - có nghĩa là ngày 5 tháng 8 năm 2022 là ngày 44413 kể từ ngày 1 tháng 1 năm 1900. Để chuyển đổi một chuỗi thành một ngày trong Excel , trước tiên chúng ta cần chuyển đổi chuỗi thành một số, và sau đó chuyển đổi số đó thành ngày tháng.

Chức năng CDate

Chúng ta có thể sử dụng một hàm có tên CDate trong VBA để chuyển đổi một chuỗi thành ngày tháng.

1234567 Sub ConvertDate ()Dim dte As SingleDim strD dưới dạng chuỗistrD = "05/10/2020"dte = CDate (strD)MsgBox dteKết thúc Sub

Như chúng ta đã khai báo một biến số (dte là Single), hộp thư sẽ trả về số đề cập đến ngày đã nhập.

Điều quan trọng là chúng ta phải nhập năm bằng cách sử dụng tất cả 4 chữ số của năm (tức là 2022 chứ không chỉ 20), nếu không số trả về có thể không như mong đợi. Excel không diễn giải phần năm của ngày - điều này được kiểm soát bởi Bảng điều khiển của PC của chúng tôi.

Tuy nhiên, nếu chúng ta khai báo các biến là một biến ngày tháng, hộp thông báo sẽ trả về số được chuyển đổi thành ngày tháng.

1234567 Sub ConvertDate ()Dim dte As DateDim strD dưới dạng chuỗistrD = "05/10/2020"dte = CDate (strD)MsgBox dteKết thúc Sub

Chúng ta có thể thực hiện thêm một bước này nữa và định dạng ngày thành kiểu định dạng ngày tháng mà chúng ta muốn xem.

1234567 Sub ConvertDate ()Dim dte As StringDim strD dưới dạng chuỗistrD = "05/10/2020"dte = Định dạng (CDate (strD), "dd mmmm yyyy")MsgBox dteKết thúc Sub

Trong ví dụ này, chúng tôi đang chuyển đổi chuỗi thành một ngày, và sau đó quay lại chuỗi một lần nữa!

Nếu chúng ta bỏ qua năm hoàn toàn, Excel sẽ giả định là năm hiện tại.

wave wave wave wave wave