问题与excel的application.evaluate命令在vba中

我遇到了一些Excel代码问题,我无法解决问题。

好吧,我在excel vba,office 2007中使用application.evaluate命令。

如果我有Evaluate("SIN(45)")它返回一个很好的预测数字。 但是,如果我做Evaluate("eq")的代码崩溃。

eq是我从Excel中读取的一个等式。 该方程是: 3*x^2+5*x+1 。 它作为一个string传入。 为了确保发生这种情况,我把它放在另一个我定义为string的variables中。 我使用Excel的replace函数replace等式中的x。 equation = Replace(equation, "x", temp)

但是,当我到评估代码分解,我不知道为什么。 Total = Total + Evaluate("equation") 。 任何帮助是极大的赞赏

我认为问题在于你引用一个string“方程”而不是方程string。

我会做

Evaluate(equation)Evaluate(Replace(equation, "x", temp)) ,注意不带引号 ,这将产生一个有效的答案。

希望这个帮助。