Xin trợ giúp về chia lịch trực (2 người xem)

Liên hệ QC

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

nnn123nnn

Thành viên mới
Tham gia
10/10/11
Bài viết
16
Được thích
0
Xin chào tất cả các anh chị em trên GPE,
Mình là một thành viên mới, làm nhân viên văn phòng, hiện tại mình đang quản lý một nhóm khoảng 7-10 người.
Mình có trách nhiệm phải chia lịch trực nhóm từ thứ Hai đến thứ Bảy ( không tính Chủ Nhật) xoay đến hết nhóm thì quay lại người đầu tiên.
Do tính chất của công việc, các nhân viên trong nhóm có thể được phân bổ vào - ra nhóm liên tục (chuyển nhóm khác quản lý và nhận nhân viên mới của nhóm khác).
Vd: nhóm mình có 8 nhân viên: A, B, C, D, E, F, G, H và được chia lịch từ thứ Hai đến thứ Bảy cứ như vậy xoay vòng đến hết tháng. A trực thứ Hai, B trực thứ Ba,...,F thứ Bảy và G thứ Hai tuần sau. Tuy nhiên, nếu A bị chuyển, thì mình phải đôn lịch lại là B trực thứ Hai.. G trực thứ Bảy và H trực thứ Hai tuần sau, hoặc nếu nhóm được phân bổ thêm người tên I, J, K thì lịch trực sẽ thay đổi, vì I, J, K sẽ trực tiếp theo bạn H.
Chính vì vậy, lịch trực thay đổi liên tục, nếu nhập thủ công thì mất khá nhiều thời gian.
Mình có tìm hiểu về các bài viết chia lịch trực, mình tìm được bài chia sẻ của bạn leonguyenz tại
http://www.giaiphapexcel.com/forum/showthread.php?91977-HELP-Chia-lịch-trực-trong-tháng
Tuy nhiên file này thì tính luôn ngày chủ nhật, còn bên mình thì không tính ngày chủ nhật và file này nếu có nhân viên thêm vào hay bớt ra thì dữ liệu sẽ bị lỗi.
Vd: D bị rút ra khỏi nhóm, xóa dữ liệu thì lịch hiện ra "0", còn nếu delete nguyên dòng thì hiện ra "#REF", chứ lịch không tự động dồn E lên
Hôm nay mình viết bài này, tha thiết mong nhận được sự hỗ trợ giúp đỡ từ diễn đàn, giúp mình sắp lịch từ thứ Hai đến thứ Bảy cho nhân viên, và đảm bảo yếu tố nếu nhân viên vào hay ra lịch sẽ tự động thay đổi theo.
Xin chân thành cám ơn cả nhà!
 

File đính kèm

Xin chào tất cả các anh chị em trên GPE,
Mình là một thành viên mới, làm nhân viên văn phòng, hiện tại mình đang quản lý một nhóm khoảng 7-10 người.
Mình có trách nhiệm phải chia lịch trực nhóm từ thứ Hai đến thứ Bảy ( không tính Chủ Nhật) xoay đến hết nhóm thì quay lại người đầu tiên.
Do tính chất của công việc, các nhân viên trong nhóm có thể được phân bổ vào - ra nhóm liên tục (chuyển nhóm khác quản lý và nhận nhân viên mới của nhóm khác).
Vd: nhóm mình có 8 nhân viên: A, B, C, D, E, F, G, H và được chia lịch từ thứ Hai đến thứ Bảy cứ như vậy xoay vòng đến hết tháng. A trực thứ Hai, B trực thứ Ba,...,F thứ Bảy và G thứ Hai tuần sau. Tuy nhiên, nếu A bị chuyển, thì mình phải đôn lịch lại là B trực thứ Hai.. G trực thứ Bảy và H trực thứ Hai tuần sau, hoặc nếu nhóm được phân bổ thêm người tên I, J, K thì lịch trực sẽ thay đổi, vì I, J, K sẽ trực tiếp theo bạn H.
Chính vì vậy, lịch trực thay đổi liên tục, nếu nhập thủ công thì mất khá nhiều thời gian.
Mình có tìm hiểu về các bài viết chia lịch trực, mình tìm được bài chia sẻ của bạn leonguyenz tại
http://www.giaiphapexcel.com/forum/showthread.php?91977-HELP-Chia-lịch-trực-trong-tháng
Tuy nhiên file này thì tính luôn ngày chủ nhật, còn bên mình thì không tính ngày chủ nhật và file này nếu có nhân viên thêm vào hay bớt ra thì dữ liệu sẽ bị lỗi.
Vd: D bị rút ra khỏi nhóm, xóa dữ liệu thì lịch hiện ra "0", còn nếu delete nguyên dòng thì hiện ra "#REF", chứ lịch không tự động dồn E lên
Hôm nay mình viết bài này, tha thiết mong nhận được sự hỗ trợ giúp đỡ từ diễn đàn, giúp mình sắp lịch từ thứ Hai đến thứ Bảy cho nhân viên, và đảm bảo yếu tố nếu nhân viên vào hay ra lịch sẽ tự động thay đổi theo.
Xin chân thành cám ơn cả nhà!
Bạn giải thích rõ chút nữa để khỏi mất công sửa đi sửa lại:

1. Người trực ngày đầu tiên của tháng luôn là người đầu danh sách hay là người tiếp theo người đã trực cuối tháng trước. Ví dụ 30/06 là C trực thì 01/07 là A trực hay là D trực. Nếu D thì thông tin về người trực cuối tháng trước lấy từ đâu?

2. Việc thêm người hay rút người chỉ thực hiện đầu tháng hay bất cứ lúc nào. Nếu việc này được thực hiện bất cứ lúc nào thì bạn phải có thông tin về thời điểm thêm người hay rút người đó (thể hiện bằng dữ liệu)
 
Bạn giải thích rõ chút nữa để khỏi mất công sửa đi sửa lại:

1. Người trực ngày đầu tiên của tháng luôn là người đầu danh sách hay là người tiếp theo người đã trực cuối tháng trước. Ví dụ 30/06 là C trực thì 01/07 là A trực hay là D trực. Nếu D thì thông tin về người trực cuối tháng trước lấy từ đâu?

2. Việc thêm người hay rút người chỉ thực hiện đầu tháng hay bất cứ lúc nào. Nếu việc này được thực hiện bất cứ lúc nào thì bạn phải có thông tin về thời điểm thêm người hay rút người đó (thể hiện bằng dữ liệu)

Cám ơn bạn đã quan tâm giúp đỡ, để mình cụ thể như tháng 07/2014 nhé:
1/ Mình cũng chưa nghĩ đến vấn đề này, bạn đề cập mình mới vỡ lẽ, cám ơn bạn. Thực ra, vấn đề của mình như thế này, mình mới được bàn giao việc lập lịch trực từ ngày 04/07 trở về sau. Khi nhận lịch thì có danh sách nhân viên 8 người như thế, và được người bàn giao cho biết, A, B, C đã trực rồi, C vừa mới xong hôm qua, và hôm nay C bị rút, tiếp theo, mình phải phân công từ D đến H và sau đó quay vòng lại A. Nếu A bị rút thì đôn B, tương tự với các người phía sau, thêm I vào thì I trực sau H. Bên mình không tính theo tháng, mà phân như vậy, ngày qua ngày đó bạn.
Bạn cho mình hỏi thêm, chúng ta có thể thêm cột "ngày bắt đầu phân công" và "người bắt được phân công" vào cạnh list danh sách nhân viên, và làm cho excel hiểu, nếu "ngày bắt đầu phân công" là 04/07/2014 và "người bắt được phân công" là B chẳng hạn, thì lịch sẽ tự động nhảy B- 4/07; C-5/07; D-07/07. Trước ngày 04/07 trắng, không hiện ra dữ liệu, dữ liệu chỉ hiện ra từ "ngày bắt đầu phân công" trở về sau. Còn việc trước đó ai mới làm xong thì mình sẽ chịu khó hỏi kĩ lại để bố trí thứ tự vào list

2/ Việc thêm người hay rút người chỉ thực hiện bất cứ lúc nào. Mình chưa rõ lắm về việc thể hiện bằng dữ liệu theo ý bạn. Vì mình cũng chỉ mới làm quen với excel thôi.
 
Lần chỉnh sửa cuối:
chắc dạo này mới kết thúc quý 2/2014, anh chị em GPE lu bu quá, không ai có thời gian giúp dùm em được hết, hic hic
 
Xin chào tất cả các anh chị em trên GPE,
Mình là một thành viên mới, làm nhân viên văn phòng, hiện tại mình đang quản lý một nhóm khoảng 7-10 người.
Mình có trách nhiệm phải chia lịch trực nhóm từ thứ Hai đến thứ Bảy ( không tính Chủ Nhật) xoay đến hết nhóm thì quay lại người đầu tiên.
Do tính chất của công việc, các nhân viên trong nhóm có thể được phân bổ vào - ra nhóm liên tục (chuyển nhóm khác quản lý và nhận nhân viên mới của nhóm khác).
Vd: nhóm mình có 8 nhân viên: A, B, C, D, E, F, G, H và được chia lịch từ thứ Hai đến thứ Bảy cứ như vậy xoay vòng đến hết tháng. A trực thứ Hai, B trực thứ Ba,...,F thứ Bảy và G thứ Hai tuần sau. Tuy nhiên, nếu A bị chuyển, thì mình phải đôn lịch lại là B trực thứ Hai.. G trực thứ Bảy và H trực thứ Hai tuần sau, hoặc nếu nhóm được phân bổ thêm người tên I, J, K thì lịch trực sẽ thay đổi, vì I, J, K sẽ trực tiếp theo bạn H.
Chính vì vậy, lịch trực thay đổi liên tục, nếu nhập thủ công thì mất khá nhiều thời gian.
Mình có tìm hiểu về các bài viết chia lịch trực, mình tìm được bài chia sẻ của bạn leonguyenz tại
http://www.giaiphapexcel.com/forum/showthread.php?91977-HELP-Chia-lịch-trực-trong-tháng
Tuy nhiên file này thì tính luôn ngày chủ nhật, còn bên mình thì không tính ngày chủ nhật và file này nếu có nhân viên thêm vào hay bớt ra thì dữ liệu sẽ bị lỗi.
Vd: D bị rút ra khỏi nhóm, xóa dữ liệu thì lịch hiện ra "0", còn nếu delete nguyên dòng thì hiện ra "#REF", chứ lịch không tự động dồn E lên
Hôm nay mình viết bài này, tha thiết mong nhận được sự hỗ trợ giúp đỡ từ diễn đàn, giúp mình sắp lịch từ thứ Hai đến thứ Bảy cho nhân viên, và đảm bảo yếu tố nếu nhân viên vào hay ra lịch sẽ tự động thay đổi theo.
Xin chân thành cám ơn cả nhà!

xem hướng dẫn trong file
 

File đính kèm

xem hướng dẫn trong file

Cám ơn bạn rất là nhiều. Hướng dẫn của bạn đúng theo mong muốn mình đang nhờ giúp luôn

Tuy nhiên, hình như vấn đề chọn tháng xong thì lịch không tự động nhảy ngày theo tháng bạn ơi. Nếu được, mong bạn giúp mình xem lại file của bạn nhé

Chúc bạn sức khỏe và tiếp tục thành công
 
Cám ơn bạn rất là nhiều. Hướng dẫn của bạn đúng theo mong muốn mình đang nhờ giúp luôn

Tuy nhiên, hình như vấn đề chọn tháng xong thì lịch không tự động nhảy ngày theo tháng bạn ơi. Nếu được, mong bạn giúp mình xem lại file của bạn nhé

Chúc bạn sức khỏe và tiếp tục thành công
Chép code sau vào sheet1
Mã:
Private Sub Worksheet_Change(ByVal target As Range)
If target.Address = "$B$3" Then
Set r = [C4:I15]
c = r.Column - 1
w = r.Columns.Count
r.ClearContents
Set target = target.Offset(1, Application.Weekday("01/" & target & "/" & Year(Now)))
Do While IsDate((m + 1) & "/" & Month(Now) & "/" & Year(Now))
target = m + 1
m = target
Set target = target.Offset(2 * Int((target.Column - c) / w), 1 - w * Int((target.Column - c) / w))
Loop
End If
End Sub
 
Web KT

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

Back
Top Bottom