如何评估具有条件表达式vba

时间:2016-12-06 11:07:25

标签: excel vba excel-vba

如何评估"3>=5"之类的字符串?

我知道我可以分割数字和条件但是我必须测试所有条件,例如>==<=>,{{1有没有其他方法可以做到这一点?

3 个答案:

答案 0 :(得分:3)

Application.Evaluate("3>=5")是VBA中的一种方式。 (它实际上是一个非常全面的表达式解析器。)

通常它会返回一个Variant:在这个特定的伪装中它返回一个VT_BOOL类型,TrueFalse

答案 1 :(得分:0)

您可以使用debug.print

Sub Testings()
    Debug.Print 3 >= 5
    Debug.Print 3 <= 5
End Sub

会给:

False
True

这将直接打印到本地窗口

答案 2 :(得分:0)

避免使用 Application.Evaluate,除非您的表达式仍然很小。当超过 250 个字符时 Application.Evaluate 会开始抖动!

请参阅 stdVBA 项目的 stdLambda

Debug.Print stdLambda.Create("3 >=5").Run()    '=> True
Debug.Print stdLambda.Create("$1 >=5").Run(3)  '=> True