Sub xyz()
  Application.ScreenUpdating = False
  Dim aNK(), aDK(), res(), TK$, tenSCT$, SDDK#, sdck$
  Dim sR&, i&, eRow&, k&, fDay As Date, eDay As Date
  With Sheets("NKC")
    .AutoFilterMode = False
    i = .Range("P" & .Rows.Count).End(3).Row
    aNK = .Range("D11:P" & i).Value
    .Range("A10:AA" & i).AutoFilter 1
  End With
  sR = UBound(aNK)
  ReDim res(1 To sR, 1 To 10)
 
  With Sheets("SCT")
    fDay = .Range("C6"):   eDay = .Range("C7")
    TK = .Range("L5"):    tenSCT = .Range("M5")
    res(1, 5) = .Range("F10")
    sdck = .Range("F" & .Rows.Count).End(3).Value '   "So du cuoi ky"
  End With
 
  With Sheets("CDPS")
    aDK = .Range("C12", .Range("D" & .Rows.Count).End(3)).Value
  End With
  For i = 1 To UBound(aDK)
    If aDK(i, 1) = TK Then
      tenSCT = tenSCT & TK & " - " & aDK(i, 2)
      Exit For
    End If
  Next i
 
  For i = 1 To sR
    If aNK(i, 1) < fDay Then
      If aNK(i, 11) Like TK & "*" Then
        SDDK = SDDK + aNK(i, 13)
      ElseIf aNK(i, 12) Like TK & "*" Then
        SDDK = SDDK - aNK(i, 13)
      End If
    Else
      Exit For
    End If
  Next i
  If SDDK > 0 Then res(1, 9) = SDDK Else res(1, 10) = -SDDK
 
  k = 1
  For i = i To sR
    If aNK(i, 1) <= eDay Then
      If aNK(i, 11) Like TK & "*" Or aNK(i, 12) Like TK & "*" Then
        k = k + 1
        res(k, 1) = aNK(i, 1): res(k, 2) = aNK(i, 4)
        res(k, 3) = aNK(i, 2): res(k, 4) = aNK(i, 6)
        res(k, 5) = aNK(i, 10)
        If aNK(i, 11) Like TK & "*" Then
          res(k, 6) = aNK(i, 12)
          res(k, 7) = aNK(i, 13)
          SDDK = SDDK + aNK(i, 13)
        Else
          res(k, 6) = aNK(i, 11)
          res(k, 8) = aNK(i, 13)
          SDDK = SDDK - aNK(i, 13)
        End If
        If SDDK > 0 Then res(k, 9) = SDDK Else res(k, 10) = -SDDK
      End If
    Else
      Exit For
    End If
  Next i
  k = k + 1
  res(k, 5) = sdck
  If SDDK > 0 Then res(k, 9) = SDDK Else res(k, 10) = -SDDK
        
  With Sheets("SCT")
    .Range("F5") = tenSCT
    .Range("A10:K" & .Range("F" & .Rows.Count).End(3).Row).Clear
    .Range("B10").Resize(k, 10) = res
    .Range("H10").Resize(k, 4).NumberFormat = "#,###"
    .Range("B10").Resize(k, 10).Borders.LineStyle = 1
  End With
  Application.ScreenUpdating = True
End Sub