- Tham gia
- 21/12/07
- Bài viết
- 1,902
- Được thích
- 5,303
- Nghề nghiệp
- Kinh doanh các mặt hàng văn phòng phẩm
Các vấn đề về tách họ và tên, tách tên trong một địa chỉ... Các bạn hỏi và trả lời trong Topic này nha.
Option Explicit
Function TachTenHo(HoTen As String) As String
HoTen = Trim(HoTen)
If HoTen = "" Then
TachTenHo = "": Exit Function
End If
Dim VTr As Byte, DDai As Byte: Const KT As String = " "
DDai = Len(HoTen): VTr = InStrRev(HoTen, " ", DDai)
If VTr = 0 Then
TachTenHo = HoTen: Exit Function
Else
TachTenHo = Mid(HoTen, VTr + 1, DDai)
End If
HoTen = KT & Left(HoTen, VTr - 1) & KT
Do
VTr = InStr(HoTen, KT)
If VTr > 0 Then
TachTenHo = TachTenHo & Mid(HoTen, VTr + 1, 1)
HoTen = Mid(HoTen, VTr + 1, DDai)
Else
Exit Do
End If
Loop
End Function
Nguyên tắc là tách ra thành từng phần (theo dấu hiệu khoảng trắng) rồi lấy ký tự đầu từng em ráp lạiMình muốn tách lấy tên và những chữ cái đầu của họ ví dụ tên Nguyễn Thị Thùy Dương thì muốn lấy kết quả là DUONGNTT
ai biết xin hướng dẫn cách làm nhé
Function TenTat(HoTen As String) As String
Dim Tmp, i As Long
On Error Resume Next
Tmp = Split(WorksheetFunction.Trim(HoTen), " ")
TenTat = Tmp(UBound(Tmp))
For i = 0 To UBound(Tmp) - 1
TenTat = TenTat & Left(Tmp(i), 1)
Next
End Function
Sư phụ chỉ cần On Error Resume Next và Split là đở biết bao nhiêu công đoạn IF ÉC gì đó& đây, bạn xài hàm này: