Probleme mit Application.Evaluate Befehl des excel in vba
Frage
Ich habe ein Problem mit einigem Code auszeichnen, dass ich Schwierigkeiten habe meinen Kopf zu umgehen.
Okay, so verwende ich den Application.Evaluate Befehl in Excel VBA, Office 2007.
Wenn ich Evaluate("SIN(45)")
haben es gibt eine schöne vorhergesagte Anzahl. Allerdings, wenn ich die Code-Abstürze Evaluate("eq")
.
eq ist eine Gleichung i in aus Excel lese. Die Gleichung lautet: 3*x^2+5*x+1
. Es wird als String übergeben. um sicherzustellen, dass dies passiert ist ich legte es in eine andere Variable, die ich als String definiert hatte. Ich ersetze die x in der Gleichung der Verwendung von Excel-Funktion ersetzen. equation = Replace(equation, "x", temp)
.
Allerdings, wenn ich der Code zum bewerten erhalten abbaut, und ich bin nicht sicher, warum. Total = Total + Evaluate("equation")
. Jede Hilfe wird sehr geschätzt
Lösung
Ich denke, das Problem liegt in dem Sie eine Zeichenfolge „Gleichung“ verweist anstelle der Gleichung String.
ich tun würde,
oder Evaluate(equation)
Evaluate(Replace(equation, "x", temp))
stattdessen Note ohne die Zitate " um Gleichung und dass eine gültige Antwort ergeben würde.
Hoffe diese Hilfe.