Xin hướng dẫn sửa VBA thay hàm TextJoin trong excel đời thấp

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

Gà 123

Thành viên mới
Tham gia
26/4/23
Bài viết
24
Được thích
1
Chào mọi người mình có tìm được đoạn code trên mạng về hàm Vlookup trả về nhiều giá trị có cùng điều kiện, tuy nhiên mình không dùng được kí tự "*" cho công thức này, ai có thể sửa giúp mình công thức để mình làm không ạ, vì cột điều kiện của mình chỉ chứa kí tự điều kiện chứ không giống hoàn toàn:
VD: Nếu B1=Vlookup("*"&$A1&"*",$C$4:$D$4,2,0) trả về kết quả có điều kiện chứa kí tự ở ô A1, nhưng chỉ trả về kết quả tìm thấy đầu tiên.
Nhưng khi dùng code này mình không thể dùng B1=myVlookup("*"&$A1&"*",$C$4:$D$4,2)
mà chỉ có thể dùng B1=myVlookup($A1,$C$4:$D$4,2) trả về nhiều kết quả có cùng điều kiện giống 100% ở ô A1
Mong các bạn đổi giúp mình nhé. Thank you.

Function myVlookUp(lookup_value, lookup_range As Range, index_col As Long)
Dim x As Range
Dim result As String
result = ""
For Each x In lookup_range
If x = lookup_value Then
result = result & "," & x.Offset(0, index_col - 1)
End If
Next
myVlookUp = Right(result, Len(result) - 1)
End Function
 
Chào mọi người mình có tìm được đoạn code trên mạng về hàm Vlookup trả về nhiều giá trị có cùng điều kiện, tuy nhiên mình không dùng được kí tự "*" cho công thức này, ai có thể sửa giúp mình công thức để mình làm không ạ, vì cột điều kiện của mình chỉ chứa kí tự điều kiện chứ không giống hoàn toàn:
VD: Nếu B1=Vlookup("*"&$A1&"*",$C$4:$D$4,2,0) trả về kết quả có điều kiện chứa kí tự ở ô A1, nhưng chỉ trả về kết quả tìm thấy đầu tiên.
Nhưng khi dùng code này mình không thể dùng B1=myVlookup("*"&$A1&"*",$C$4:$D$4,2)
mà chỉ có thể dùng B1=myVlookup($A1,$C$4:$D$4,2) trả về nhiều kết quả có cùng điều kiện giống 100% ở ô A1
Mong các bạn đổi giúp mình nhé. Thank you.

Thử thay : If x = lookup_value Then

bằng: If x Like lookup_value Then
 
Upvote 0
Bạn ơi có thể giúp mình nốt là tìm kiếm không phân biệt chữ hoa, chữ thường ở điều kiện được không, của mình đang phân biệt b ah

If InStr(1, x, lookup_value, vbTextCompare) > 0 Then

Không cần dùng dấu "*" trong công thức: =myVlookup($A1,$C$4:$D$5,2)
 
Upvote 0
Upvote 0
Web KT
Back
Top Bottom