Sub SortSheet()
Dim Ws As Worksheet
Dim i As Long, iSh As Long, Sh As Long, arr
iSh = ThisWorkbook.Worksheets.count
ReDim arr(1 To iSh, 1 To 2)
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
For Each Ws In ThisWorkbook.Worksheets
If Ws.name <> "TIEU DE" And Not Ws.name Like "THKL*" And Ws.name <> "DINH HINH" Then
i = i + 1
arr(i, 1) = Ws.name
arr(i, 2) = "KM" & Format(Mid(arr(i, 1), 3, InStr(1, arr(i, 1), "+") - 3), "0000") & Mid(arr(i, 1), InStr(3, arr(i, 1), "+"))
End If
Next
Sheet7.Range("AAA5").Resize(i, 2) = arr
Sheet7.Range("AAA5").Resize(i, 2).Sort Key1:=Sheet7.Range("AAB5"), Order1:=xlAscending
arr = Sheet7.Range("AAA5:AAB" & 4 + i).Value
Sheet7.Range("AAA5").Resize(i, 2).ClearContents
For Sh = i To 1 Step -1
Sheets(arr(Sh, 1)).Move before:=Sheets(1)
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub