Săp lịch trực (1 người xem)

  • Thread starter Thread starter Excel365
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Lần chỉnh sửa cuối:
Upvote 0
Nhờ các anh chị giúp em chia ka lịch trực như sau:
Có 7 người, chia là 3 ka trực, 8 giờ/ka,
3 người / ka
đảm bảo được nghỉ 8 giờ mới lên ka trực
trân trọng cảm ơn

http://www.mediafire.com/view/efrf4r7diyko3bq/Lichtruc.xlsx

Xem thử file này coi sao. Hình như chưa ổn lắm. Chờ chỉnh lại nhé.
-----------------------------------------
Có lẽ đã ổn, bạn kiểm tra lại file này xem.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Anh cho em hỏi trường hợp tăng thêm nhân viên thì mình sẽ chỉnh code như thế nào.
Chẳng hạn như là 10 nhân viên thì em chỉnh code như sau có đúng không anh
[GPECODE=vb]Option Explicit

Public Sub ChiaCa()
Dim Rng As Range, Cll As Range, Arr(), Ca As String, Ca1 As String, Ca2 As String
Dim Nghi As Long, I As Long, J As Long, Dem1 As Long, Dem2 As Long, Rws As Long, Tem As Long
Rws = [J1].Value
Set Rng = Range("C4:L4").Resize(Rws)
ReDim Arr(1 To Rws, 1 To 10)
Ca1 = "Ca 1 - Ca 3": Ca2 = "Ca 2"
Nghi = 1
Arr(1, 1) = "x"
For J = 2 To 4
Arr(1, J) = Ca1
Arr(1, J + 3) = Ca2
Next J
For I = 2 To UBound(Arr, 1)
Nghi = Nghi + 1
Dem1 = 0: Dem2 = 0
For J = 1 To 10
If Arr(I - 1, J) = "x" Then
Tem = J
ElseIf J = Nghi Then
Arr(I, J) = "x"
ElseIf Arr(I - 1, J) = Ca1 Then
Arr(I, J) = Ca2
Dem2 = Dem2 + 1
Else
Arr(I, J) = Ca1
Dem1 = Dem1 + 1
End If
Next J
Arr(I, Tem) = IIf(Dem1 < 3, Ca1, Ca2)
If Nghi = 10 Then Nghi = 0
Next I
[C4:L1000].Interior.ColorIndex = 0
[C4:L1000].ClearContents
[C4].Resize(Rws, 10) = Arr
Set Rng = Range("C4:L4").Resize(Rws)
For Each Cll In Rng
If Cll.Value = "x" Then Cll.Interior.ColorIndex = 6
Next Cll
End Sub
[/GPECODE]
 
Lần chỉnh sửa cuối:
Upvote 0
Nay Ds trưc của em tăng lên là 10 người rồi. Em cung đã ngâm cưu code của a để chinh sữa lại, nhung vẫn không đúng ý. Nay nhờ anh gíup e điều chỉnh lai code để có thể xếp lich trực cho nhân viên.
P/s: đây chỉ là ý tuởng của em anh có thẻe chỉnh code để có thể áp dụng cho mọi truờng hợp đuợc không ạ, ví dụ như; khi chạy code sẽ hiện lên hộp thoại input để điền số nhân viên, số người trực /ka, số ngày trục liên tục sẽ được nghỉ 24, ...
Trân trọng cảm ơn anh rất nhiều.
 
Upvote 0
Web KT

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

Back
Top Bottom