Đăng ký học Excel và VBA cùng GPE tháng 11 - TPHCM

Mua sách "VBA trong Excel - Cải thiện và tăng tốc" tái bản

Tách tên trong excel

Thảo luận trong 'Giải thích, gỡ rối, xử lý lỗi công thức' bắt đầu bởi huyquan, 18 Tháng tám 2010.

  1. huyquan

    huyquan Thành viên mới

    Xin chào các bạn, các bạn giúp đỡ tôi tác tên cái trong danh sách này với, tôi nghĩ mãi không ra được. Xin cảm ơn các bạn nhiều
     

    Các file đính kèm:

    Lần chỉnh sửa cuối: 18 Tháng tám 2010
  2. concogia

    concogia Gội rồi mới Cạo

    Thử dùng cái hàm tự tạo "xi-ma-chao" này xem:
    Mã:
     
    Public Function cat(Vung As Range) As String
        Dim I As Integer, Tam As String
            For I = 2 To Len(Vung)
                If Mid(Vung, I, 1) = UCase(Mid(Vung, I, 1)) Then
                    Tam = Tam & " " & Mid(Vung, I, 1)
                Else
                    Tam = Tam & Mid(Vung, I, 1)
                End If
            Next
        cat = Left(Vung, 1) & Tam
    End Function
    
     

    Các file đính kèm:

  3. hoangminhtien

    hoangminhtien Thành viên tích cực

    Bạn xem trong file có được không nhé!
     

    Các file đính kèm:

  4. sealand

    sealand Thành viên gạo cội

    Đối với bài này có 3 cấp độ:
    1/ Trong tầm tay: Chữ thường viết hoa chữ đầu tên, đệm và họ: Tôi đã viết hàm ngắn gọn và sử lý khả quan xong thành tên, họ, tên lót.
    2/Phần có dấu: Trước mắt ta sử lý trên Font Unicode (Concogia lưu ý dính chưởng đoạn này nha)
    3/Toàn bộ chữ in: Bó tay vì ngoài tầm của chúng ta.

    Đây là hàm tách của mình
    Mã:
    Function Tachten(Hoten As String, id As Integer) As String
    Dim tam, ch, i
    For i = 1 To Len(Hoten)
    If Asc(Mid(Hoten, i, 1)) = Asc(UCase(Mid(Hoten, i, 1))) Then
    ch = ch & ";" & Mid(Hoten, i, 1)
    Else
    ch = ch & Mid(Hoten, i, 1)
    End If
    Next
    If InStr(1, ch, ";") = 0 Then Tachten = "": Exit Function
    tam = Split(ch, ";")
    Select Case id
    Case Is = 1
    Tachten = tam(UBound(tam))
    Case Is = 2
    Tachten = tam(LBound(tam) + 1)
    Case Is = 3
    For i = LBound(tam) + 2 To UBound(tam) - 1
    Tachten = Tachten & " " & tam(i)
    Next
    Case Else
    Tachten = ""
    End Select
    End Function
    Cú pháp =Tachten(Hoten,Id)
    Id=1: Lấy tên.
    Id=2: Lấy Họ
    Id=3: Lấy tên lót.

    Mình đang loay hoay sử lý Font chữ có kết quả gì mình thông báo sau.
     

    Các file đính kèm:

    Lần chỉnh sửa cuối: 18 Tháng tám 2010
  5. sealand

    sealand Thành viên gạo cội

    Đây là file mình tích hợp 1 hàm bỏ dấu của thày Phạm Duy Long để sử lý font chữ. Do làm vội nên mình mới sử lý Font Unicode, nếu dùng được thì bổ xung các chuỗi mã TCVN3, VNI để sử lý toàn diện hơn.

    Trong file có 2 hàm cơ bản

    1/Hàm = Ho_ten(Hoten,Id)
    Trong đó: lấy Họ Id=1, lấy tên Id=2, lấy tên lót Id=3
    Tác dụng: Chia chuỗi thành tên-ho-tên lót riêng biệt

    2/ Hàm =SName(Hoten)
    Tác dung: Tạo chuỗi họ và tên chuẩn
     

    Các file đính kèm:

Chia sẻ trang này