проблемы с приложением Excel.команда evaluate в vba
Вопрос
У меня проблема с некоторым кодом Excel, который мне никак не удается осмыслить.
Итак, я использую команду application.evaluate в Excel vba, office 2007.
Если у меня есть Evaluate("SIN(45)")
он возвращает хорошее предсказанное число.Однако, если я это сделаю Evaluate("eq")
код выходит из строя.
eq - это уравнение, которое я читаю из Excel.уравнение имеет вид: 3*x^2+5*x+1
.Он передается в виде строки.чтобы убедиться, что это произошло, я поместил его в другую переменную, которую я определил как строку.Я заменяю крестики в уравнении, используя функцию replace в Excel. equation = Replace(equation, "x", temp)
.
Однако, когда я приступаю к оценке, код ломается, и я не уверен, почему. Total = Total + Evaluate("equation")
.Любая помощь будет высоко оценена
Решение
Я думаю, проблема заключается в том, что вы ссылаетесь на строку "equation" вместо строки equation .
Я бы сделал
Evaluate(equation)
или
Evaluate(Replace(equation, "x", temp))
вместо этого обратите внимание без кавычек " вокруг уравнения, и это дало бы правильный ответ.
Надеюсь, это поможет.