TgiaiDungLe
Thành viên chính thức
- Tham gia
- 3/4/19
- Bài viết
- 52
- Được thích
- 9
Hiện tại, qua tìm hiểu trên mạng mình có tìm được đoạn code VBA để Vlookup nhiều giá trị như sau :
Function SingleCellExtract(LookupValue As String, LookupRange As Range, ColumnNumber As Integer, Char As String)
'Updateby20150824
Dim I As Long
Dim xRet As String
For I = 1 To LookupRange.Columns(1).Cells.Count
If LookupRange.Cells(I, 1) = LookupValue Then
If xRet = "" Then
xRet = LookupRange.Cells(I, ColumnNumber) & Char
Else
xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
End If
End If
Next
SingleCellExtract = Left(xRet, Len(xRet) - 1)
End Function
Để sử dụng hàm SingleCellExtract thì bên dưới Excel sử dụng : = SingleCellExtract (D2, A2: B15,2, ",") vào ô cần Vlookup nhiều giá trị
Sau đó, tại ô Vlookup nhiều giá trị sẽ xuất hiện rất nhiều các giá trị tương tự như :
Tuy nhiên, vấn đề mình đang gặp phải là muốn lọc trùng các giá trị giống nhau (bỏ đi các dãy số giống nhau và chỉ giữ lại 1 giá trị). Và thay vì kết quả như ô bên trên thì KQ mình muốn sẽ là :
Rất mong giúp đỡ mình để cải tiến đoạn code VBA này ạ !
Minh xin chân thành cảm ơn ạ.
Function SingleCellExtract(LookupValue As String, LookupRange As Range, ColumnNumber As Integer, Char As String)
'Updateby20150824
Dim I As Long
Dim xRet As String
For I = 1 To LookupRange.Columns(1).Cells.Count
If LookupRange.Cells(I, 1) = LookupValue Then
If xRet = "" Then
xRet = LookupRange.Cells(I, ColumnNumber) & Char
Else
xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
End If
End If
Next
SingleCellExtract = Left(xRet, Len(xRet) - 1)
End Function
Để sử dụng hàm SingleCellExtract thì bên dưới Excel sử dụng : = SingleCellExtract (D2, A2: B15,2, ",") vào ô cần Vlookup nhiều giá trị
Sau đó, tại ô Vlookup nhiều giá trị sẽ xuất hiện rất nhiều các giá trị tương tự như :
3201030166,3201030166,3201030166,3201030166,3201030166,3201030166,3201030166,3201030166,3201030166,3201031861,3201031861,3201031861,3201031861,3201031861,3201031861,3201031861,3201031861,3201031861,3201031861 |
Tuy nhiên, vấn đề mình đang gặp phải là muốn lọc trùng các giá trị giống nhau (bỏ đi các dãy số giống nhau và chỉ giữ lại 1 giá trị). Và thay vì kết quả như ô bên trên thì KQ mình muốn sẽ là :
3201030166, 3201031861 |
Rất mong giúp đỡ mình để cải tiến đoạn code VBA này ạ !
Minh xin chân thành cảm ơn ạ.
Lần chỉnh sửa cuối: