Tạo hàm cắt tên, họ, họ đệm trong VBA
(Hàm cắt tên, cắt họ trong Excel)
Khi làm việc trong Excel bạn thường phải thao tác với danh sách họ tên học viên, khách hàng. Do danh sách này bao gồm đầy đủ họ và tên, tuy nhiên bạn lại muốn tách riêng cột tên từ cột họ tên này. Bạn đã sử dụng các hàm có sẵn để làm việc này nhưng vẫn chưa đươc. Trong bài viết này tôi xin trình bày cách tách tên ra khỏi cột họ và tên bằng cách viết hàm VBA.
+ Bước 1: Mở chương trình Microsoft Excel.
+ Bước 2: Vào Menu Tool\Macro\Visual Basic Editor. (Hoặc ấn tổ hợp phím Alt + F11). Xuất hiện cửa sổ Microsoft Visual Basic.
+ Bước 3: Vào Menu Insert\Module. Xuất hiện cửa sổ Code
+ Bước 4: Nhập đoạn Code phía dưới vào trong cửa sổ Code (Hình 2)
Bắt đầu đoạn Code
Function CatTen(str As String) As String
Dim mlen As Long
Dim i As Long
mlen = Len(str)
For i = mlen To 1 Step -1
If Mid(str, i, 1) = " " Then
Exit For
End If
Next
If i <> 0 Then
CatTen = Trim(Mid(str, i + 1, mlen - i))
Else
CatTen = Trim(str)
End If
End Function
Function CatHo(str As String) As String
Dim mlen As Long
Dim i As Long
mlen = Len(str)
For i = 1 To mlen
If Mid(str, i, 1) = " " Then
Exit For
End If
Next
If i <> 0 Then
CatHo = Trim(Mid(str, 1, i - 1))
Else
CatHo = Trim(str)
End If
End Function
Function CatHoDem(str As String) As String
Dim mlen As Long
Dim i, j, k As Long
mlen = Len(str)
k = 0
For i = mlen To 1 Step -1
If Mid(str, i, 1) = " " Then
Exit For
End If
k = k + 1
Next
For j = 1 To mlen
If Mid(str, j, 1) = " " Then
Exit For
End If
k = k + 1
Next
If i <> 0 Then
CatHoDem = Trim(Mid(str, j, mlen - k))
Else
CatHoDem = Trim(str)
End If
End Function
+ Bước 5: Quay trở lại màn hình làm việc chính của Excel bằng cách vào Menu File\Close And Return to Microsoft Excel (Hoặc ấn tổ hợp phím Alt + Q).
+ Bước 6: Sử dụng những hàm chúng ta đã tạo
- Tại ô B1 ta có Họ và tên 1 người như ở Hình 3
- Bây giờ ta chỉ muốn cắt tên của người đó, ta sẽ làm như sau:
- Đưa vệt sáng đến ô B2, nhập vào hàm =Catten(B1) và ấn Enter kết quả ô B2 có giá trị là Thảo
- Nếu chúng ta muốn cắt Họ thì dùng hàm Catho, muốn cắt Họ đệm thì dùng hàmCathodem
Nhận xét
Đăng nhận xét