if中的逻辑运算符来自单元格内容

时间:2016-03-05 11:00:40

标签: excel vba excel-vba operators

我有一个小区"<" D8中的运算符值。

在我的宏代码中,我想比较一些类似的数据:

if(e<10) then
    msgbox "less than 10"
Endif

之后,当我从&#34;&lt;&#34;更换单元格D8时到&#34;&gt;&#34;,宏代码必须像这样运行:

if(e>10) then
    msgbox "greater than 10"
Endif

概要, 当我改变D8的值时,#34;&lt;&#34;或&#34;&gt;&#34;,代码必须按照我的要求进行比较。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

Application.Evaluate method可以在您的代码中用于处理由构造的字符串描述的操作。

Sub eval_test()
    Dim e As Long

    e = 9
    Range("D8") = "<"
    Debug.Print e & Range("D8").Value & 10

    If Application.Evaluate(e & Range("D8").Value & 10) Then
        MsgBox "e is " & Range("D8").Value & " 10"
    Else
        MsgBox "e is not " & Range("D8").Value & " 10"
    End If

End Sub