HMatchIf

Horizontal match for a value in a row
Horizontal MatchIf, returns column number or column name

CodeFunctionName
What is this?

Public

Tested

Original Work
Function HMatchIf(Val1, Row1, Optional Wb = "This", Optional Shee = "Active", Optional StartFromCol = "A", Optional ColumnNumber = 0)
    ' Horizontal MatchIf, returning column number and not column name
    '    Returns column name by default (or "" if not found), if you need column number (or 0 if not found), ColumnNumber should be 1
    '    Needs CutString
    If Wb = "This" Then Wb = ThisWorkbook.Name
    If Wb = "Active" Then Wb = ActiveWorkbook.Name
    If Shee = "Active" Then Shee = ActiveSheet.Name
    If ColumnNumber = 0 Then HMatchIf = ""
    If ColumnNumber = 1 Then HMatchIf = 0
    Row1End = GetColumnName(Workbooks(Wb).Worksheets(Shee).Range("A1").Offset(, Workbooks(Wb).Worksheets(Shee).Range("A1").EntireRow.Columns.Count - 1).Address) & Row1
    CoCo1 = WorksheetFunction.CountIf(Workbooks(Wb).Worksheets(Shee).Range(StartFromCol & Row1, Row1End), Val1)
    If CoCo1 = 0 Then Exit Function
    On Error Resume Next
    Err.Clear
    LastOne = WorksheetFunction.Match(Val1, Workbooks(Wb).Worksheets(Shee).Range(StartFromCol & Row1, Row1End), 0) + Range(StartFromCol & 1).Column - 1
    If Err.Number = 0 Then GoTo GotIt
    Err.Clear
    LastOne = WorksheetFunction.Match(Val(Val1), Workbooks(Wb).Worksheets(Shee).Range(StartFromCol & Row1, Row1End), 0) + Range(StartFromCol & 1).Column - 1
    If Err.Number = 0 Then GoTo GotIt
    Err.Clear
    LastOne = WorksheetFunction.Match(CStr(Val1), Workbooks(Wb).Worksheets(Shee).Range(StartFromCol & Row1, Row1End), 0) + Range(StartFromCol & 1).Column - 1
    If Err.Number = 0 Then GoTo GotIt
    Err.Clear
    On Error GoTo 0
    Exit Function
GotIt:
    Err.Clear
    On Error GoTo 0
    If ColumnNumber = 1 Then Rett = LastOne
    If ColumnNumber = 0 Then Rett = CutString(Range(Cells(1, LastOne).Address).Address(True, False), "", "$")
    HMatchIf = Rett
End Function

Val1, Row1, Optional Wb, Optional Shee, Optional StartFromCol, Optional ColumnNumber

Views 3,746

Downloads 1,278

CodeID
DB ID