使用VBA,我试图转换一个字符串,如" / 10"进入算术运算,如果我以某种方式连接它(取决于它如何转换)在数字200之后,将返回数字20。
感谢您的帮助。
答案 0 :(得分:4)
您正在寻找的是一种数学解析器。四处寻找可以在VBA中使用的库。如果你正在使用excel特定的东西 - 我确信excel已经内置了一个数学解析器 - 虽然我不知道你如何能够像程序员一样获得它。也许将表达式作为字符串粘贴在单元格中并调用Eval()。
修改强> Microsoft故意从excel中的函数调用中删除此功能,但可以通过创建以下函数来恢复它:
Function Eval(Ref As String)
Application.Volatile
Eval = Evaluate(Ref)
End Function
然后只需致电Eval("200" & "/10")
<强> EDIT2 强>
如下面的评论中所述,现代版本的VBA支持
Application.Evaluate("200" & "/10")
答案 1 :(得分:1)
以下示例提供了一种完成所需内容的方法。
Dim s As String
s = "/10"
Dim i As Integer
i = 200
Dim v
v = Evaluate(CStr(i) & s)
MsgBox v