Userform (UF) bạn thiết kế có nhiều vấn đề quá. Việc Sort dữ liệu tôi gợi ý ở trên, phần lớn các Form nhập liệu dùng cách này, còn việc UF của bạn không hiển thị được là do cách thiết kế Listbox của bạn thôi.
Các vấn đề:
- Nhập liệu nhân viên tới 6 dòng với code giống nhau, lặp lại. Thông thường nhập liệu cho từng nhân viên một - bấm lưu - nhập tiếp cho nhân viên kế tiếp --> chỉ cần 1 bộ textbox của "Nhân viên 1" là đủ rồi, code cũng gọn gàng hơn. Còn UF bạn thiết kế 6 dòng cho 6 nhân viên, vậy tại sao không phải là 4, 5,8,10... dòng? Cách nhập liệu cùng một lúc nhiều dòng chỉ dùng khi có hỗ trợ dạng Continuous Form (Excel UF không có), nhập nhiều dòng xong bấm Lưu một lần, không cần mỗi dòng mỗi nút bấm Lưu (Xoá).
- Listbox: Source của Listbox trong UF của bạn là nguyên cả Table [Data], qua các năm, dữ liệu ngày càng phình ra (vd: 100k dòng) --> mỗi khi cái UF này mở lên, nó phải tải toàn bộ dữ liệu lên --> ì ạch không đáng có --> thanh cuộn phải kéo dài lê thê... ==> chỉ cần tải dữ liệu trong tháng là đủ xem rồi. Một khi dùng cách chỉ tải dữ liệu có chọn lọc (filter) cho Listbox thì bạn dư sức Sort dữ liệu để dòng vừa nhập nằm trên cùng (Sort giảm dần).
Đôi điều góp ý về các thiết kế UF cho nó hiệu quả, hợp lý.