Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("C:C")) Is Nothing Then
On Error Resume Next
If Target.Value = "" Then Exit Sub
Dim Sh As Worksheet, Rng As Range, sRng As Range
Set Sh = Sheets("HoaDon")
Set Rng = Sh.Range(Sh.[A4], Sh.[a65500].End(xlUp))
Set sRng = Rng.Find(Target.Value, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
1 Set Rng = Sh.Cells(sRng.Row, "J").End(xlToLeft).Offset(, 1)
If Rng.Column < 7 Then Set Rng = Sh.Cells(sRng.Row, "G")
2 Rng.Value = Target.Offset(, -1).Value
End If
End If
End Sub