Mình đã Copy Code và đã chạy được tuy nhiên, file dữ liệu mình có dữ liệu Text dạng số "009988" khi tách sheet thì dữ liệu chỉ còn "9988". Các bạn hướng dẫn giúp mình cách khắc phục vấn đề này nhé
======================================
======================================
Mã:
Sub SplitData()
Dim Rng As Range, i As Long
On Error Resume Next
Application.ScreenUpdating = False
Set Rng = Range(Sheets("Main").[A2:R2], Sheets("Main").[A65536:R65536].End(xlUp))
If Rng.Rows.Count <= 500 Then Exit Sub
Do
i = i + 1
If Sheets("T" & Format(i, "00")) Is Nothing Then
With Sheets.Add(After:=Sheets(Sheets.Count))
.Name = "T" & Format(i, "00")
.Range("A2:R501").Value = Rng.Offset((i - 1) * 501).Resize(501).Value
End With
End If
Loop Until i * 501 >= Rng.Rows.Count
Sheets("Main").Activate
Application.ScreenUpdating = True
End Sub
Ví dụ là code này xem:
Trong đó sheet chứa dữ liệu nguồn tôi đặt tên là Main, các sheet con được đặt tên là T01, T02....PHP:Sub SplitData() Dim Rng As Range, i As Long On Error Resume Next Application.ScreenUpdating = False Set Rng = Range(Sheets("Main").[A1], Sheets("Main").[A65536].End(xlUp)) If Rng.Rows.Count <= 20 Then Exit Sub Do i = i + 1 If Sheets("T" & Format(i, "00")) Is Nothing Then With Sheets.Add(After:=Sheets(Sheets.Count)) .Name = "T" & Format(i, "00") .Range("A1:A20").Value = Rng.Offset((i - 1) * 20).Resize(20).Value End With End If Loop Until i * 20 >= Rng.Rows.Count Sheets("Main").Activate Application.ScreenUpdating = True End Sub