Lọc tên người trong tên công trình..!

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

ecuson

Thành viên mới
Tham gia
20/12/22
Bài viết
2
Được thích
0
1671526764692.png
Mình cần lọc tên khách hàng trong tên công trình, nhờ mọi người chỉ giúp công thức nào lọc cho nhanh ạ..! Xin cảm ơn
 
View attachment 284864
Mình cần lọc tên khách hàng trong tên công trình, nhờ mọi người chỉ giúp công thức nào lọc cho nhanh ạ..! Xin cảm ơn
Bất kể 1 từ nào cũng có thể là tên. Bạn có quy luật nào để lấy không? Hoặc có thể có danh sách nào đó để đối chiếu chẳng hạn. Chứ như cái hình thì chịu rồi
 
Bất kể 1 từ nào cũng có thể là tên. Bạn có quy luật nào để lấy không? Hoặc có thể có danh sách nào đó để đối chiếu chẳng hạn. Chứ như cái hình thì chịu rồi
Theo thông lệ ra khai sinh thì tên của dân Việt nam phải chứa chí ít 1 nguyên âm;
Chắc không thể nào khai sinh tên 1600KVA cho đặng!
 
Bất kể 1 từ nào cũng có thể là tên. Bạn có quy luật nào để lấy không? Hoặc có thể có danh sách nào đó để đối chiếu chẳng hạn. Chứ như cái hình thì chịu rồi
trong dòng dữ liệu mình có tô đen họ và tên khách hàng, chỉ có duy nhất điểm đó. Nhờ bạn giúp mình nghĩ cách với..!
 
Bạn thử sử dụng hàm này:

Them mã vào một module.
JavaScript:
Function NameInText(Cell As Range) As String
    On Error Goto E
    Dim i%, k%, s$, ln%, sp, b%, z$, z_$
    s = Cell(1, 1).Value
    sp = Split(s, " ")
    For i = 0 To ubound(sp)
      ln = Len(sp(i)): k = k + ln + 1
      If b = 0 Then
         If sp(i) like "ông" Then b = 1
      Else
          If Cell(1, 1).Characters(k + 1, ln).Font.Bold Then z = z & z_ & sp(i):z_ = " " else exit for
      End if
    Next
E:
    NameInText = z
End Function
 
View attachment 284864
Mình cần lọc tên khách hàng trong tên công trình, nhờ mọi người chỉ giúp công thức nào lọc cho nhanh ạ..! Xin cảm ơn
Bạn sử dụng code này trong module. Ví dụ của bạn thì dữ liệu không đồng nhất. Nếu đồng nhất và tìm chữ in đậm không thì có thể xài code dưới thử nhé. Thân

Public Function TimTen(ByVal rngText As Range) As String
Dim theCell As Range
Set theCell = rngText.Cells(1, 1)

For i = 1 To Len(theCell.Value)
If theCell.Characters(i, 1).Font.Bold = True Then
If theCell.Characters(i + 1, 1).Text = " " Then
theChar = theCell.Characters(i, 1).Text
Else
theChar = theCell.Characters(i, 1).Text
End If
Results = Results & theChar
End If
Next i
TimTen = Results
End Function
 
Bạn sử dụng code này trong module. Ví dụ của bạn thì dữ liệu không đồng nhất. Nếu đồng nhất và tìm chữ in đậm không thì có thể xài code dưới thử nhé. Thân

Public Function TimTen(ByVal rngText As Range) As String
Dim theCell As Range
Set theCell = rngText.Cells(1, 1)

For i = 1 To Len(theCell.Value)
If theCell.Characters(i, 1).Font.Bold = True Then
If theCell.Characters(i + 1, 1).Text = " " Then
theChar = theCell.Characters(i, 1).Text
Else
theChar = theCell.Characters(i, 1).Text
End If
Results = Results & theChar
End If
Next i
TimTen = Results
End Function
Chắc phải khai báo thêm. Ví dụ: Biến i, biến .....
 
Lần chỉnh sửa cuối:
Theo thông lệ ra khai sinh thì tên của dân Việt nam phải chứa chí ít 1 nguyên âm;
Chắc không thể nào khai sinh tên 1600KVA cho đặng!
Đó là thông lệ.
Thông lệ thua tin (teen) lệ.

Không bao lâu nữa, Nguyễn Văn Được sẽ viết thành Nguyễn Văn Đc, (nếu viết thành Nguyễn Văn Ok thì cũng "ok" vì vẫn có 1 nguyên âm)
 
Web KT

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

Back
Top Bottom