从 InputBox 获取数学运算符

Fre*_*ers 2 excel vba

我正在尝试使用 InputBox 来获取数学运算符

例如:+。当我用变量替换运算符时,它会出错

预期然后或转到

这不起作用:

Sub NumTest()
Dim Val As Integer

Val = Application.InputBox("Value", "Value", Type:=1)
oper = Application.InputBox("Op")
rcell = Range("D2")

If rcell oper Val = True Then
    MsgBox "True"
End If
End Sub
Run Code Online (Sandbox Code Playgroud)

这确实有效:

Sub NumTest()
Dim Val As Integer

Val = Application.InputBox("Value", "Value", Type:=1)
oper = Application.InputBox("Op")
rcell = Range("D2")

If rcell > Val = True Then
    MsgBox "True"
End If
End Sub
Run Code Online (Sandbox Code Playgroud)

Sco*_*ner 5

创建一个字符串并使用 Application.Evaluate:

Sub NumTest()
    Dim Val As Integer
    Val = Application.InputBox("Value", "Value", Type:=1)
    Dim oper As String
    oper = Application.InputBox("Op")
    Dim rcell As String
    rcell = ActiveSheet.Range("D2")

    If Application.Evaluate(rcell & oper & Val) Then
        MsgBox "True"
    Else
        MsgBox "False"
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)