Sub CapNhat()
Dim eR As Long
Dim Rng As Range, MyRng As Range, MyR As Range
Dim iR As Long
On Error Resume Next
Set Rng = S1.Range(S1.[A9], S1.[A23].End(xlUp))
iR = Rng.Rows.Count
Set MyRng = S2.Range(S2.[A2], S2.[A65000].End(xlUp))
If S1.Range("F3") = "" Then MsgBox "So phieu khong duoc de trong!", vbCritical, "Error": Exit Sub
Set MyR = MyRng.Find(S1.[F3].Value, , xlValues, xlWhole)
If MyR Is Nothing Then
With S2
eR = .[A50000].End(xlUp).Row + 1
.Cells(eR, 1).Resize(iR).Value = S1.[F3]
.Cells(eR, 2).Resize(iR).Value = S1.[A2]
.Cells(eR, 3).Resize(iR).Value = Rng.Offset(, 0).Resize(, 1).Value
.Cells(eR, 4).Resize(iR).Value = Rng.Offset(, 1).Resize(, 1).Value
.Cells(eR, 5).Resize(iR).Value = Rng.Offset(, 2).Resize(, 1).Value
.Cells(eR, 6).Resize(iR).Value = Rng.Offset(, 3).Resize(, 1).Value
.Cells(eR, 7).Resize(iR).Value = Rng.Offset(, 4).Resize(, 1).Value
.Cells(eR, 8).Resize(iR).Value = Rng.Offset(, 5).Resize(, 1).Value
.Cells(eR, 9).Resize(iR).Value = Rng.Offset(, 6).Resize(, 1).Value
Union(.Cells(eR, 5).Resize(iR, 3), .Cells(eR, 9).Resize(iR, 1)).NumberFormat = "_(* #,##0_);_(* (#,##0);"""""
.Cells(eR, 8).Resize(iR, 1).NumberFormat = "0%"
Union(S1.[B4], S1.[A9:D23], S1.[F9:F23]).ClearContents
Range("F3").Value = Range("F3").Value + 1
End With
Else
MsgBox "So phieu nay da co rui ban oi. Hay nhap lai nhe! Thanks", vbCritical, "Error"
End If
End Sub