dùng vba tách họ và tên ra chữ viết tắt (4 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Không dễ ăn nhé.
Nguyễn -> N
Trần -> TR
Phạm -> PH
 
Lâu lắm rồi tôi có viết một hàm như yêu cầu của bạn (chủ yếu phục vụ trong cty). Giờ gửi lên hy vọng có thể giúp được cho bạn
Mã:
Function AbbName(ByVal Text As String, Optional ByVal Delimiter As String = vbNullString, Optional ByVal IncName As Boolean = False) As String
  Dim sPart1 As String, sPart2 As String, sp As String, lPos As Long
  sp = Space(1)
  If InStr(1, Text, sp) Then
    With WorksheetFunction
      sPart1 = .Trim(Text)
      lPos = InStrRev(sPart1, Space(1))
      sPart2 = Mid(sPart1, lPos + 1, Len(sPart1))
      sPart1 = Mid(sPart1, 1, lPos - 1)
      sPart1 = "{""" & Replace(sPart1, " ", """;""") & """}"
      sPart1 = Join(Evaluate("Transpose(LEFT(" & sPart1 & ",1))"), Delimiter)
    End With
    AbbName = sPart1 & Delimiter & IIf(IncName, Left(sPart2, 1), sPart2)
  End If
End Function
Cách dụng:
1> Nếu muốn có kết quả kiểu N.N.LÂM, bạn dùng công thức:
Mã:
=AbbName(C3,".")
2> Nếu muốn có kết quả kiểu N.N.L, bạn dùng công thức:
Mã:
=AbbName(C3,".",TRUE)
 

File đính kèm

Không dễ ăn nhé.
Nguyễn -> N
Trần -> TR
Phạm -> PH
Muốn
Trần -> T
Phạm -> P

Có ngay. :D
Ăn được cái này cũng trầy da xước vẩy.
Có biết tại sao N mà không phải là Ng vậy?
N chứ không Ng chỉ là chuyện nhỏ. Văn, Thị, Chi -> N, hoặc cũng là Văn nhưng -> P, và Vĩnh -> T mới là chuyện thú vị.

viettat.jpg
 

File đính kèm

Web KT

Bài viết mới nhất

Back
Top Bottom