Вопрос

У меня проблема с некоторым кодом 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)) вместо этого обратите внимание без кавычек " вокруг уравнения, и это дало бы правильный ответ.

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top