Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R As Long
Dim Rng As Range, WorkRng As Range
Set WorkRng = Intersect(Application.ActiveSheet.Range("A1:A200, C1:C200, E1:E200"), Target)
If WorkRng Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
R = Mid(Replace(Rng.Address, "$", ""), 2, Len(Target.Address) - 1)
Rng.Offset(0, 1).Formula = "=HoTen"
Rng.Offset(0, 3).Formula = "=BoPhan"
Rng.Offset(0, 5).Formula = "=ChucVu"
Rng.Offset(0, 1).Value = Rng.Offset(0, 1).Value
Rng.Offset(0, 3).Value = Rng.Offset(0, 3).Value
Rng.Offset(0, 5).Value = Rng.Offset(0, 5).Value
Else
Rng.Offset(0, 1).ClearContents
Rng.Offset(0, 3).ClearContents
Rng.Offset(0, 5).ClearContents
End If
Next
Application.EnableEvents = True
End Sub