Nhiều vấn đề muốn góp ý với bạn lắm, nhưng trước tiên tạm vài cái:
(*) Hàm ChamCong((ByVal Khoang As Range, ByVal Chucnang As String) As Single
của bạn có thể chỉ dùng trong 1 số trường hợp riêng biệt cần thiết mà thôi;
Còn lại ta nên xài hàm =COUNTIF() của Excel thì hơn (Về tốc độ, . . . .)
(*) Bản thân trong hàm đó bạn viết cũng dư ở chổ: Trong thực tiển, ta không bao giờ tính công cho nhiều dòng (nhiều người) 1 lúc bao giờ;
(*) Các nhân viên nên có mã duy nhất; Bạn có thể tìm trên diễn đàn về vấn đề này;
CQ bạn là nhà mày bia, vậy số lượng nhân viên sẽ là hàng trăm? & số lượng bộ fận/đơn vị (BF) trên chục;
Vậy bạn sẽ xài bao nhiêu trang tính trong 1 tháng & trong 1 năm;
Theo mình các BF có đặc thù giống nhau (như cùng giờ hành chính hay cùng đi ca giống nhau,. . . ) ta chỉ xài 1 trang chấm công chung; Trong đó ta thêm cột (trường) tên BF vô là xong;
Ta xài các bảng chấm công đặc thù này chỉ cho 1 tháng hiện hành;
Cuối tháng ta tổng kết xong, in sao lưu & làm động tác chuyển bảng chấm công mẫu đó sang tháng tương lai gần nhất chỉ là 1 vài động tác nhẹ nhàng nhất (Bạn có thể xem thêm trên diễn đàn có cơ man nào bảng chấm công mẫu các loại)
Tựu chung í mình muốn góp với bạn là cần có cái nhìn bao quát về vấn đề mình muốn thực hiện.
Chúc vui & rất hân hạnh được tranh luận cùng bạn tiếp sau.