Nhờ các anh, chị giúp đỡ cắt lịch trực ca bằng vba (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

diemhuyenanh

Thành viên hoạt động
Tham gia
6/9/09
Bài viết
167
Được thích
58
kính chào các anh, chị trên GPE.
em có danh sách các cơ quan và những người trong cơ quan đó mà em cần cắt lịch trực ca xoay vòng theo tháng mà chưa nghĩ ra phương án nào cả rất mong các anh chị xem và giúp đỡ
em có gửi file đính kèm trong đó em có nghi tỉ mỉ các yêu cầu và có bang mẫu mong cá anh chị xem và giúp đỡ
em chân thành cảm ơn!
EM SỬA LẠI DỮ LIỆU CHO TIỆN Ở FILE DƯỚI
 

File đính kèm

Lần chỉnh sửa cuối:
kính chào các anh, chị trên GPE.
em có danh sách các cơ quan và những người trong cơ quan đó mà em cần cắt lịch trực ca xoay vòng theo tháng mà chưa nghĩ ra phương án nào cả rất mong các anh chị xem và giúp đỡ
em có gửi file đính kèm trong đó em có nghi tỉ mỉ các yêu cầu và có bang mẫu mong cá anh chị xem và giúp đỡ
em chân thành cảm ơn!
EM SỬA LẠI DỮ LIỆU CHO TIỆN Ở FILE DƯỚI
- Người cùng cơ quan đánh số TT cách nhau 1 đơn vị (không đánh liên tiếp)
- Sort theo số TT
- Chọn tháng [H1] để chạy code
 

File đính kèm

Upvote 0
- Người cùng cơ quan đánh số TT cách nhau 1 đơn vị (không đánh liên tiếp)
- Sort theo số TT
- Chọn tháng [H1] để chạy code
1. Phần người cùng cơ quan đánh số cách nhau 1 đơn vị và sort lại theo STT chắc là để tránh việc: 2 người trong một cơ quan thì không cùng trực liền nhau trong 2 ngày nghỉ (t7 hoặc cn). Đoạn này bác có thể dùng code để xử lý thì hay quá: sort cột C, đánh lại số thứ tự, sort STT. Em thử mà làm chưa được --=0
2. "và trong 1 tháng thì người nào trực vào ngày nghỉ thì chỉ trực 1 lần trong tháng". Vẫn chưa thỏa mãn được nhu cầu này, trong tháng 2 đã có 2 người bị "trực vào 2 ngày nghỉ". Bác test lại xem có thêm giải pháp không?
3. Em muốn hỏi về code: khi gán cho Tam(i,4) có đoạn .Offset(Tam(i, 1) Mod a, 0). Em đang thắc mắc ở chỗ Tam(i, 1) Mod a. Em thay là i Mod a thì có sai ý nghĩa câu lệnh của bác không? Vì chưa hiểu hết ý nghĩa nên gửi câu hỏi, mong bác hồi đáp.

Thân mến.
 
Upvote 0
tôi test thì không có ai bị trực vao 2 ngày nghỉ trong tháng 2 cả
 
Upvote 0
3. Em muốn hỏi về code: khi gán cho Tam(i,4) có đoạn .Offset(Tam(i, 1) Mod a, 0). Em đang thắc mắc ở chỗ Tam(i, 1) Mod a. Em thay là i Mod a thì có sai ý nghĩa câu lệnh của bác không? Vì chưa hiểu hết ý nghĩa nên gửi câu hỏi, mong bác hồi đáp.

Thân mến.
Tam(i, 1) Mod a có tính liên tục, trong lịch người trực đầu tháng sau sẽ nối tiếp người trực cuối tháng trước
i Mod a không lưu được dữ liệu cũ, người trực đầu tháng sau luôn là người đầu tiên trong danh sách.
 
Upvote 0
Tam(i, 1) Mod a có tính liên tục, trong lịch người trực đầu tháng sau sẽ nối tiếp người trực cuối tháng trước
i Mod a không lưu được dữ liệu cũ, người trực đầu tháng sau luôn là người đầu tiên trong danh sách.
Hay quá, em phải lôi anh Mod qua cell để test thì mới thấy.
Còn bài của bác ở trên sao em tải về thì xem tháng 2 hay tháng 3 thì vẫn có người trực vào 2 ngày nghỉ trong tháng, hay là em hiểu nhầm ý của chủ top **~**-+*/
 
Upvote 0
Bác phuocam thân mến! Tôi test đến hôm nay thì có vấn đề: nếu danh sách trực mà số người chia hết cho 7. ví dụ như danh sách có 7 người, 14 người thì code coi như không chạy được vòng lập theo yêu cầu. Danh sách trực sẽ không quay vòng theo tháng. mong bác vào diễn đàn chỉnh giúp
 
Upvote 0
chào các anh, chị trên GPE. khi trước tôi có nhờ diễn đàn làm hộ cho file để cắt lịch trực. code chạy tốt cho đến khi tôi phát hiện ra một điều là nếu danh sách trực mà số người chia hết cho 7. ví dụ như danh sách có 7 người, 14 người thì code coi như không chạy được vòng lập theo yêu cầu. Danh sách trực sẽ không quay vòng theo tháng. vậy mong các anh, chị trên GPE vào kiểm tra sửa giúp tôi. Tôi cảm ơn nhiều!
Tôi đã gửi bài sau khi test nhưng không có anh chị nào giúp tôi. hy vọng lần này các anh chị để tâm giúp giùm.
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom