Bài viết sẽ đề cập đến cách hoạt động của ứng dụng Date Picker Calendar Form được sử dụng trong VBA Excel (kèm với link tải) cũng như những điểm khác biệt của nó so với Date Picker Add-in dùng trong môi trường Excel . Cùng bắt đầu ngay thôi nào!

calendarform
Bạn đang xem bài viết tại: https://bostonenglish.edu.vn/
Giới thiệu Công cụ hỗ trợ chọn ngày trong Excel
Trước đây, mình từng có một bài viết giới thiệu về Date Picker Add-in dùng trong môi trường Excel. Tuy nhiên, do tính đóng gói và bảo mật của tác giả nên chúng ta khó vận dụng nó trong môi trường VBA, việc tái sử dụng trong các Userform gặp khó khăn nhất định.
Vậy bây giờ Date Picker Calendar Form khác gì so với add-in? Nếu bạn tìm hiểu VBA sẽ làm quen với các khác niệm: Class, Userform, Module…
Bạn có thể xem lại bài viết qua đường dẫn sau:
Tải về Calendar Form
Bạn có thể truy cập tại website chính chủ: https://trevoreyre.com/portfolio/excel-datepicker/
Link tải dự phòng: https://bit.ly/calendarfrm
Hướng dẫn cài đặt và sử dụng Calendar Form
Bạn đang xem bài viết tại: https://bostonenglish.edu.vn/
- Sau khi tải về, bạn cần giải nén ra thư mục. (Bên trong sẽ có file CalendarForm v1.5.2.xlsm hướng dẫn và ví dụ cho bạn các thông số tương ứng).
- Ở file bạn cần sử dụng, bạn nhấn tổ hợp phím ALT + F11 để mở cửa sổ lập trình VBA.
- Ở cửa sổ Project Explorer (bạn có thể chọn menu View rồi chọn Project Explorer, phím tắt: CTRL+R)
- Bạn click phải Project bạn cần import, sau đó chọn Import File…
- Chọn file CalendarForm.frm mà bạn đã giải nén ở bước 1. Vậy là xong.
- Sau khi đã hoàn tất bước trên, bạn có thể sử dụng bằng cách khai báo biến, ra gọi nó ra.
Dim dateVariable as Date dateVariable = CalendarForm.GetDate
Bạn đang xem bài viết tại: https://bostonenglish.edu.vn/
Các ví dụ ứng dụng của Calendar Form
Ứng dụng Macro để hiển thị DatePicker trong ô của Excel
Dưới đây là đoạn code ví dụ mà tác giả đã vận dụng, ta thấy ô được gán là H16. Khi bạn cần dùng, chỉ việc gọi macro BasicCalendar lên là được. Lưu ý khi làm việc với nhiều Sheet khác nhau, bạn nên chỉ rõ ô H16 thuộc Sheet nào nhé! Ví dụ: Sheets("Sheet1").Range("H16") = dateVariable
, khi ô bạn áp dụng nằm ở Sheet có tên là Sheet1
Sub BasicCalendar() dateVariable = CalendarForm.GetDate If dateVariable <> 0 Then Range("H16") = dateVariable End Sub
Ứng dụng gán vào Textbox trong Userform VBA
Dưới đây là một macro mình viết lại để vận dụng cho các textbox. Tương ứng ví dụ khi chọn Check-in, Check-out, ta sẽ gọi lại macro bên dưới mà không phải khai báo lặp đi lặp lại.
Private Sub checkin_Enter()
calDatepicker checkin
End Sub
Private Sub checkin_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
calDatepicker checkin
KeyAscii = 0
End Sub
Private Sub calDatepicker(ctlTextbox As Control)
Dim dteNgay As Date
dteNgay = IIF(ctlTextbox.value, ctlTextbox.value,Now())
dateVariable = CalendarForm.GetDate(SelectedDate:=dteNgay)
If dateVariable <> 0 Then ctlTextbox = dateVariable
End Sub
Chúc bạn thành công. Đừng quên theo dõi Bostonenglish cho những bài học bổ ích tiếp theo nhé!
Bạn đang xem bài viết tại: https://bostonenglish.edu.vn/
Bostonenglish.edu.vn cũng giúp giải đáp những vấn đề sau đây:
- Tạo datepicker trong Excel
- Trevor eyre
- Calendar VBA
- Chèn lịch vào ô trong Excel
- Tạo popup lịch trong Excel
- Tạo Calendar trong Excel
- Calendar userform VBA Excel 2016
- Date Picker in Excel