Option Explicit
Sub gpeCopy()
Dim Sh As Worksheet, Cls As Range
Dim Col As Long: Dim ShName As String
Const Rws As Long = 42
On Error Resume Next
Col = [b3].CurrentRegion.Columns.Count
1 'Xoá Du Lieu Cu:'
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name <> "TH" Then
Sh.[A7].Resize(Rws, Col).ClearContents
Sh.Rows("7:49").Hidden = False '<=|'
End If
Next Sh
2 'Chép Sang Các Trang Tính Chi Tiét:'
For Each Cls In Range([A6], [A65500].End(xlUp))
If Cls.Offset(, 1).Value = "" Then
ShName = Cls.Offset(, 3).Value
Else
ShName = Cls.Offset(, 1).Value
End If
Cls.Resize(, Col).Copy Destination:=Sheets(ShName).[G49].End(xlUp).Offset(1, -6) '<=|'
Next Cls
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name <> "TH" Then
Sh.Rows("49:" & Sh.[G50].End(xlUp).Row + 2).Hidden = True '<=|'
End If
Next Sh
End Sub