2009-12-04 1 views
2

J'ai un problème avec un code Excel que j'ai du mal à comprendre.problèmes avec la commande application.evaluate d'excel dans vba

Bon alors je suis en utilisant la commande Application.Evaluate dans Excel vba, bureau 2007.

Si j'ai Evaluate("SIN(45)") il retourne un bon nombre prévu. Cependant, si je fais Evaluate("eq") le code se bloque.

eq est une équation que je lis d'Excel. l'équation est: 3*x^2+5*x+1. Il est passé en tant que chaîne. pour m'assurer que cela arrive, je l'ai placé dans une autre variable que j'avais définie comme une chaîne. Je remplace les x dans l'équation en utilisant la fonction de remplacement d'Excel. equation = Replace(equation, "x", temp). Cependant, quand j'arrive à l'évaluation, le code tombe en panne et je ne sais pas pourquoi. Total = Total + Evaluate("equation"). Toute aide est grandement appréciée

Répondre

3

Je pense que le problème se situe là où vous faites référence à une chaîne "équation" au lieu de la chaîne d'équation.

Je ferais

Evaluate(equation) ou Evaluate(Replace(equation, "x", temp)) à la place, note sans les citations " autour de l'équation et qui donnerait une réponse valable.

espoir cette aide.

+0

wow! Qui a fonctionné, Merci beaucoup! – Samuel

+0

Charles Williams a une belle description de certaines des bizarreries de l'utilisation d'Application.Evaluate ici: http://www.decisionmodels.com/calcsecretsh.htm – jtolle

Questions connexes