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