这是我的问题:我想创建一个带X的函数,并将其放入函数中的等式中。
我认为脚本总是这样:
Function Myfunction(x As Integer)
Myfunction = <EQUATION like 2*x>
End Function
我需要做的是将等式放在单元格中作为文本,Myfunction将接受它。所以,等式一直在变化。
答案 0 :(得分:2)
查看Evaluate
功能 - 请参阅此代码示例:
Option Explicit
Sub Test()
Debug.Print EvalForX("(2+X)*44", 14)
Debug.Print EvalForX("X^3", 22)
Debug.Print EvalForX("(X+10)*(X-3)", 7)
Debug.Print EvalForX("X", 12)
End Sub
Function EvalForX(ByVal strEquation As String, ByVal intX As Integer) As Double
EvalForX = Evaluate(Replace(strEquation, "X", CStr(intX), 1, -1, vbTextCompare))
End Function
这将输出:
704
10648
68
12
可以在工作表中用作用户定义函数:
答案 1 :(得分:0)
这是最终解决方案
EvalForX =评估(替换(替换(strEquation,&#34; X&#34;,CStr(intX),1,-1,vbTextCompare),&#34;,&#34;,&#34;。 &#34;,1,-1,vbTextCompare))