Tách tên từ chuỗi với nhiều đặc điểm khác nhau
Kính chào anh chị và các bạn diễn đàn,
Em rà soát đền bù bảo hiểm và muốn tách tên người ra. Nhưng tên nó nằm ở các vị trí khác nhau và em đã tóm được một số chuỗi cần lấy điển hình như file ạ. Em muốn lấy họ và tên của người đứng trước từ THANH TOAN/BOI THUONG/boi thuong/thanh toan/Boi Thuong. Nhưng các mốc bắt đầu lấy thì rất khó vì nó không theo quy luật cố định như 11 dòng ví dụ em đã nêu. Em nghĩ đễn việc đưa ra các Họ cơ bản rồi tìm ngược lại họ nào xuất hiện thì lấy từ Họ đó đến trước các từ THANH TOAN/BOI THUONG/boi thuong/thanh toan/Boi Thuong. Tất nhiên cũng chỉ là tương đối và không đúng hết được. Có code nào có thể lấy được tất cả họ và tên từ 11 dòng đã cho không ạ. Mong anh/chị và các bạn hỗ trợ code với ạ.
Chạy code . . .
Sub ABC()
Dim arr(), res(), str$, chr$, sRow&, i&, j&, c&, n&
Const FistChar$ = ":./" 'Tu khoa truoc ten
arr = Range("B3", Range("B" & Rows.Count).End(xlUp)).Value
sRow = UBound(arr)
ReDim res(1 To sRow, 1 To 1)
For i = 1 To sRow
j = InStr(1, arr(i, 1), "boi thuong", vbTextCompare)
If j = 0 Then j = InStr(1, arr(i, 1), "thanh toan", vbTextCompare)
If j > 0 Then
str = Mid(arr(i, 1), 1, j - 2)
n = Len(str)
For c = n To 1 Step -1
chr = Mid(str, c, 1)
If IsNumeric(chr) Or InStr(1, FistChar, chr) Then Exit For
Next c
res(i, 1) = Mid(str, c + 1, n - c)
End If
Next i
Range("C3").Resize(sRow) = res
End Sub
www.giaiphapexcel.com/diendan/threads/t%C3%A1ch-t%C3%AAn-t%E1%BB%AB-chu%E1%BB%97i-v%E1%BB%9Bi-nhi%E1%BB%81u-%C4%91%E1%BA%B7c-%C4%91i%E1%BB%83m-kh%C3%A1c-nhau.166404/
Khóa học Power PI – Ứng dung trong Nhân sự
TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...
Xem khóa học
Bình luận