Bạn làm tới đâu rồi, đưa code lên thử.
.
Sub Copy_sheet()
Dim p1, p2, i&
Dim xPath As String
xPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Dim p1, p2, i As Integer
p1 = Sheet1.Cells(2, 9).Value
p2 = Sheet1.Cells(3, 9).Value
'p1 = Sheet3.Range("I2").Value
'p2 = Sheet3.Range("I3").Value
If IsNumeric(p1) = False Or IsNumeric(p2) = False Then
tb = MsgBox("So code phai la so.", , "Thông báo")
Exit Sub
End If
If p1 > p2 Then
tb = MsgBox("So code sau phai >= so code truoc.", , "Thông báo")
Exit Sub
End If
If p1 < 1 Or p2 < 1 Then
tb = MsgBox("So code phai >=1.", , "Thông báo")
Exit Sub
End If
If p1 <= p2 Then
For i = p1 To p2
Sheet1.Range("G3").Value = i
Sheet1.Copy (chỗ này cần các Bác xử lý giúp để chỉ copy dữ liệu)
Application.ActiveWorkbook.SaveAs Filename:=xPath & "\" & Sheet1.Range("D9").Value & ".xls"
Application.ActiveWorkbook.Close False
Next
End If
End Sub