评估大于 x 但小于 x VBA

Evaluating Greater Than x But Less Than x VBA

我正在构建一个应用程序,该应用程序必须解释用户设置的一组指令,这些指令直到运行时才知道。

我是通过使用 Evaluate 函数实现的,如下所示:

Evaluate("5>4")

returns 没错,正如人们所期望的那样。我的问题是如何评估以下陈述:

5 大于 4 但小于 10

当然,我会用变量代替数字。

我知道我可以将字符串分成两部分的数组并单独测试,但必须有一种方法可以将单个参数传递给测试。

Application.Evaluate 计算公式,因此 AND(5>A4,5<10)(5>A4)*(5<10)(结果为 0 或 1)

另一种选择可能是 ScriptControl Eval,但它无法访问 Excel 地址,例如 Evaluate

With CreateObject("ScriptControl")
    .Language = "VBScript"              ' either VBScript or JScript
    Debug.Print .Eval("5>4 and 5<10")
End With