Sub test()
Dim rng As Range: Set rng = Range("a5:d209")
Dim arr(1 To 1000, 1 To 1000)
iRowFI = 3
iRowIN1 = 3
iRowIN2 = 3
iRowPP = 3
iRowTR12 = 3
iRowTR34 = 3
iRowTR56 = 3
iRowTR78 = 3
iRowTR910 = 3
iRowTR1112 = 3
[COLOR=#008000] 'Step 1: record into array[/COLOR]
For Each cll In rng.Columns("d").Cells
i = i + 1
arr(i, 1) = cll.Offset(0, -2).Value 'MaNV
arr(i, 2) = cll.Offset(0, -1).Value 'TenNV
arr(i, 3) = cll.Offset(0, -0).Value 'Chuyen
Next cll
[COLOR=#008000] 'Step 2: write into valid sheets[/COLOR]
On Error Resume Next
For i = 1 To UBound(arr)
Select Case arr(i, 3)
Case "FI"
On Error Resume Next
Worksheets("FI").Cells(iRowFI, 2).Value = arr(i, 3) '3=chuyen`
Worksheets("FI").Cells(iRowFI, 3).Value = arr(i, 1) '1=ma~
Worksheets("FI").Cells(iRowFI, 4).Value = arr(i, 2) '2=hoten
iRowFI = iRowFI + 5
On Error GoTo 0
Case "IN1"
On Error Resume Next
Worksheets("IN1").Cells(iRowIN1, 2).Value = arr(i, 3) '3=chuyen`
Worksheets("IN1").Cells(iRowIN1, 3).Value = arr(i, 1) '1=ma~
Worksheets("IN1").Cells(iRowIN1, 4).Value = arr(i, 2) '2=hoten
iRowIN1 = iRowIN1 + 5
On Error GoTo 0
Case "IN2"
On Error Resume Next
Worksheets("IN2").Cells(iRowIN2, 2).Value = arr(i, 3) '3=chuyen`
Worksheets("IN2").Cells(iRowIN2, 3).Value = arr(i, 1) '1=ma~
Worksheets("IN2").Cells(iRowIN2, 4).Value = arr(i, 2) '2=hoten
iRowIN2 = iRowIN2 + 5
On Error GoTo 0
Case "PP"
On Error Resume Next
Worksheets("PP").Cells(iRowPP, 2).Value = arr(i, 3) '3=chuyen`
Worksheets("PP").Cells(iRowPP, 3).Value = arr(i, 1) '1=ma~
Worksheets("PP").Cells(iRowPP, 4).Value = arr(i, 2) '2=hoten
iRowPP = iRowPP + 5
On Error GoTo 0
Case "TR1,2"
On Error Resume Next
Worksheets("TR1,2").Cells(iRowTR12, 2).Value = arr(i, 3) '3=chuyen`
Worksheets("TR1,2").Cells(iRowTR12, 3).Value = arr(i, 1) '1=ma~
Worksheets("TR1,2").Cells(iRowTR12, 4).Value = arr(i, 2) '2=hoten
iRowTR12 = iRowTR12 + 5
On Error GoTo 0
Case "TR3,4"
On Error Resume Next
Worksheets("TR3,4").Cells(iRowTR34, 2).Value = arr(i, 3) '3=chuyen`
Worksheets("TR3,4").Cells(iRowTR34, 3).Value = arr(i, 1) '1=ma~
Worksheets("TR3,4").Cells(iRowTR34, 4).Value = arr(i, 2) '2=hoten
iRowTR34 = iRowTR34 + 5
On Error GoTo 0
Case "TR5,6"
On Error Resume Next
Worksheets("TR5,6").Cells(iRowTR56, 2).Value = arr(i, 3) '3=chuyen`
Worksheets("TR5,6").Cells(iRowTR56, 3).Value = arr(i, 1) '1=ma~
Worksheets("TR5,6").Cells(iRowTR56, 4).Value = arr(i, 2) '2=hoten
iRowTR56 = iRowTR56 + 5
On Error GoTo 0
Case "TR7,8"
On Error Resume Next
Worksheets("TR7,8").Cells(iRowTR78, 2).Value = arr(i, 3) '3=chuyen`
Worksheets("TR7,8").Cells(iRowTR78, 3).Value = arr(i, 1) '1=ma~
Worksheets("TR7,8").Cells(iRowTR78, 4).Value = arr(i, 2) '2=hoten
iRowTR78 = iRowTR78 + 5
On Error GoTo 0
Case "TR9,10"
On Error Resume Next
Worksheets("TR9,10").Cells(iRowTR910, 2).Value = arr(i, 3) '3=chuyen`
Worksheets("TR9,10").Cells(iRowTR910, 3).Value = arr(i, 1) '1=ma~
Worksheets("TR9,10").Cells(iRowTR910, 4).Value = arr(i, 2) '2=hoten
iRowTR910 = iRowTR910 + 5
On Error GoTo 0
Case "TR11,12"
On Error Resume Next
Worksheets("TR11,12").Cells(iRowTR1112, 2).Value = arr(i, 3) '3=chuyen`
Worksheets("TR11,12").Cells(iRowTR1112, 3).Value = arr(i, 1) '1=ma~
Worksheets("TR11,12").Cells(iRowTR1112, 4).Value = arr(i, 2) '2=hoten
iRowTR1112 = iRowTR1112 + 5
On Error GoTo 0
End Select
Next i
End Sub