Gửi bởi
khoa_pr
Cám ơn bạn nhiều lắm!
Còn một tình huống này phát sinh từ thực tiễn:
- Sau khi đã tách Họ và tên ra các cột C và D, cột C có đủ Họ và tên đệm (NGUYỄN VĂN), khi xoá tên trong cột D và Enter, thì nó sẽ tự tách tên đệm ra cột D (vì lúc này cột D rỗng).
- Với tập tin Tachten_Bate.xls, toi muốn danh sách bắt đầu từ dòng thứ 2 (C2), còn dòng trên là tiêu đề cột thì cần thêm code như thế nào.
Vậy bạn sửa code lại như thế này.
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim Tem, Str As String
If Target.Column = 3 And Target.Count = 1 And Target.Row > 1 Then
If (Target.Offset(, 1).Value = Empty) And (InStr(1, Trim(Target.Value), " ") > 0) Then
Str = UCase(Target)
Tem = Split(Trim(Str), " ")
Target.Offset(, 1).Value = Tem(UBound(Tem))
Target.Value = Trim(Left(Str, Len(Str) - Len(Target.Offset(, 1))))
End If
ElseIf Target.Column = 4 And Target.Count = 1 And Target.Row > 1 Then
If (Target.Value = Empty) And (InStr(1, Trim(Target.Offset(, -1).Value), " ") > 0) Then
Str = UCase(Target.Offset(, -1).Value)
Tem = Split(Trim(Str), " ")
Target.Value = Tem(UBound(Tem))
Target.Offset(, -1).Value = Trim(Left(Str, Len(Str) - Len(Target)))
End If
End If
Application.EnableEvents = True
End Sub