首先,我不知道是否可以在VBA中进行操作,但是我花了将近四个小时进行研究,但没有运气。 我正在使用Excel VBA做一个项目,以制作一个宏,该宏可以计算任何包含多个用户可以键入的 x 变量的 y = f(x)函数这样的InputBox;
基本上,通过将输入定义为String,我可以毫无问题地将其打印在工作表的任何单元格中。
Dim f As String
f = InputBox(Prompt:="Please input your function" & Chr(13) & Chr(13) &
Chr(13) & Chr(13) & "y =")
Cells(1,1) = "y = " + f
现在的问题是,我想使用用户已在InputBox中键入以定义变量 y y = f(x1,x2 ...) >是 x 的函数,就像您通常在VBA中所做的那样。但是,变量将是一些随机数 n 维向量,因此必须将其定义为这样;
Dim x1() As Double, x2() As Double, x3() As Double
Dim y() As Double, n As Long
... Randomize and defining x variables ...
ReDim y(1 To n, 1 To 1)
For i = 1 To n
y(i,1)=x1(i,1) + x2(i,1) + x3(i,1)
Next i
这里, x 和 n 的期望值由用户自己在单独的输入框中确定。
现在,我不想在模块中独自输入 y(i,1)= x1(i,1)+ x2(i,1)+ x3(i,1)程序能够从用户输入的公式中读取和定义 y ,因此,如果用户更改了 y = f(x),该程序将自动更改其 y 公式,因此无需用户打开模块并从内部进行更改即可计算各种公式。
请告诉我是否有可能或太复杂,谢谢您能给我的意见。 预先感谢!