This approach was born out of wanting to pass a logical expression (E.G. ">=10000") as a parameter to a function.

So, I built an Enum and a function to use it to evaluate logical expressions.

Is this a good, maintainable, scalable approach?

    Public Enum comparisonOperator
        '/ Used [[ ]] because the outer set escape the inner brackets for the Enum list, which will then escape the operator when chosen as a value. E.G. they will appear as "Operator = [<]" in code.
        [[<]] = 1
        [[<=]] = 2
        [[=]] = 3
        [[>=]] = 4
        [[>=]] = 5
    End Enum

    Public Function ComparisonIsTrue(ByVal sourceValue As Variant, ByVal operator As comparisonOperator, ByVal comparisonValue As Variant) As Boolean
    
        Dim isTrue As Boolean
        
        Select Case operator
        
            Case Is = 1 '/ <
            isTrue = (Value < comparisonValue)
            
            Case Is = 2 '/ <=
            isTrue = (Value <= comparisonValue)
            
            Case Is = 3 '/ =
            isTrue = (Value = comparisonValue)
            
            Case Is = 4 '/ >=
            isTrue = (Value >= comparisonValue)
            
            Case Is = 5 '/ >
            isTrue = (Value > comparisonValue)
            
            Case Else
            '/ Error Handling
            Stop
        
        End Select
        
        ComparisonIsTrue = isTrue

    End Function