2009-12-04 7 views
2

일부 문제는 내가 머리를 쓰는 데 어려움이 있습니다. 좋아vba의 excel application.evaluate 명령에 문제가 발생했습니다.

내가 Evaluate("SIN(45)")이있는 경우 나 엑셀 VBA에서 application.evaluate 명령, 사무실 2007

을 사용하고 그래서 좋은 예측 수를 반환합니다. 그러나 내가 Evaluate("eq") 코드를 실행하면 코드가 충돌합니다.

eq는 Excel에서 읽는 방정식입니다. 방정식은 3*x^2+5*x+1입니다. 그것은 문자열로 전달됩니다. 이 문제가 발생했는지 확인하기 위해 문자열로 정의한 다른 변수에 배치했습니다. 나는 excel의 replace 함수를 사용하여 x의 방정식을 대체합니다. equation = Replace(equation, "x", temp).

그러나 코드를 평가할 때 코드가 고장 나면 그 이유를 모르겠습니다. Total = Total + Evaluate("equation"). 어떤 도움을 크게 주신 것입니다

답변

3

나는 문제가 방정식 문자열 대신 문자열 "방정식"을 참조하는 곳이라고 생각합니다.

내가 방정식의 주위에 인용 없는 대신

Evaluate(equation) 또는 Evaluate(Replace(equation, "x", temp)), 노트 " 할 것이라고하고 올바른 답을 얻을 것입니다.

희망이 도움이.

+0

을 와우! 일이, – Samuel

+0

Charles Williams는 여기 Application.Evaluate를 사용하는 많은 단점에 대해 설명합니다. http://www.decisionmodels.com/calcsecretsh.htm – jtolle

관련 문제