VBA - 将字符串转换为算术运算符

Abe*_*old 1 excel vba

使用 VBA,我试图将诸如“/10”之类的字符串转换为算术运算,这样如果我在数字 200 之后以某种方式连接它(取决于它的转换方式),将返回数字 20。

谢谢你的帮助。

Rut*_*ulV 5

您正在寻找的是所谓的数学解析器。四处寻找可以在 VBA 中使用的库。如果您正在使用特定于 excel 的东西-我确定 excel 已经内置了一个数学解析器-尽管我不知道您如何以程序员的身份访问它。也许将表达式作为字符串粘贴在单元格中并调用 Eval()。

编辑 Microsoft 有意从 excel 中的函数调用中删除了此功能,但是可以通过创建以下函数来恢复它:

Function Eval(Ref As String)
Application.Volatile
Eval = Evaluate(Ref)
End Function
Run Code Online (Sandbox Code Playgroud)

然后就打电话 Eval("200" & "/10")

编辑2

正如下面的评论中所指出的,现代版本的 VBA 支持

Application.Evaluate("200" & "/10")
Run Code Online (Sandbox Code Playgroud)