Viết Function tương tự hàm Match trong Excel

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Chào diễn đàn,

Mình đang cần 1 hàm tương tự hàm Match trong Excel viết bằng VBA
Hàm Match trong excel sẽ tìm chính xác từ cần tìm ở dòng nào trong cột chỉ định
Nhưng mình cần hàm tìm dòng chỉ cần chứa các ký tự cần tìm trong cột chỉ định thì sẽ ra dòng đó
Các bác xem minh họa như hình vẽ ạ
1107
Thử code

Function MyMatch(ByVal lookup_value As String, ByVal lookup_range As Range) As Long
    Dim cell As Range, CellValue As String, i As Long, lenL As Long, k As Long
    lenL = Len(lookup_value)

For Each cell In lookup_range
        CellValue = cell.Value
        For i = 1 To lenL
            k = InStr(1, CellValue, Mid(lookup_value, i, 1))
            If k = 0 Then Exit For
            Mid(CellValue, k, 1) = "|"
        Next i
        If i > lenL Then
            MyMatch = cell.Row
            Exit Function
        End If
    Next cell
End Function

Rất mong nhận được sự hỗ trợ ạ.

www.giaiphapexcel.com/diendan/threads/vi%E1%BA%BFt-function-t%C6%B0%C6%A1ng-t%E1%BB%B1-h%C3%A0m-match-trong-excel.163679/post-1091859

Góp vui.

Function Tim(Rng As Range, Str As String)
Dim i&, j&, Chk As Boolean
For i = 1 To Rng.Rows.Count
 If Chk = False Then
    For j = 1 To Rng.Columns.Count
        If Rng(i, j) Like "*" & Str & "*" Then Tim = Rng(i, j).Row: Chk = True: Exit For
    Next j
 Else
    Exit For
 End If
Next

End Function

Cú pháp : =Tim(Vùng cần tìm, ký tự cần tìm) và Enter

Theo hình, thử công thức tại E4 (Ctrl+Shift+Enter)

=MATCH(LEN(D4),MMULT(--ISNUMBER(SEARCH(MID(D4,TRANSPOSE(ROW(INDIRECT("1:"&LEN(D4)))),1),B3:B6)),ROW(INDIRECT("1:"&LEN(D4)))^0),0)

www.giaiphapexcel.com/diendan/threads/vi%E1%BA%BFt-function-t%C6%B0%C6%A1ng-t%E1%BB%B1-h%C3%A0m-match-trong-excel.163679/post-1091949

Kỹ năng giải quyết vấn đề hiệu quả
Khóa học SprinGO phù hợp

Kỹ năng giải quyết vấn đề hiệu quả

Mô tả Nội dung Đánh giá Tài nguyên KỸ NĂNG GIẢI QUYẾT VẤN ĐỀ HIỆU QUẢHiểu đúng vấn đề là một nửa của giải...

Xem khóa học
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm