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]