我可以根据用户表单中用户输入的公式创建方程式吗?
Can I create an equation based on user-entered formula in a userform?
我正在 Excel 中创建一个用户表单,用户需要先在其中输入我预先编码的计算所需的参数。但是,会有特定于用户的计算。计算将需要用户输入的相同参数,因此我只能使用文本框名称作为参考,但我似乎想不出一个代码可以识别输入的公式是它将使用的方程式。
我的最终用户尽可能广泛,我正在创建一个尽可能通用的 excel 文件。大多数计算对所有用户都是通用的,因此我可以在他们使用之前对其进行编码。
我还没有尝试任何东西,因为我还不知道如何创建代码来解决我的问题。
- 将公式作为
String
- 插入前导“=”
- 根据需要更改参数
- 或者
Evaluate()
公式并使用结果或者
将公式放入单元格
Sub UserSuppliedEquation()
Dim v As Variant, sForm As String
sForm = Application.InputBox(Prompt:="Enter Formula without leading equal sign", Type:=2)
sForm = "=" & sForm
v = Evaluate(sForm)
MsgBox v & vbCrLf & sForm
Range("B9").Formula = sForm
End Sub
我正在 Excel 中创建一个用户表单,用户需要先在其中输入我预先编码的计算所需的参数。但是,会有特定于用户的计算。计算将需要用户输入的相同参数,因此我只能使用文本框名称作为参考,但我似乎想不出一个代码可以识别输入的公式是它将使用的方程式。
我的最终用户尽可能广泛,我正在创建一个尽可能通用的 excel 文件。大多数计算对所有用户都是通用的,因此我可以在他们使用之前对其进行编码。
我还没有尝试任何东西,因为我还不知道如何创建代码来解决我的问题。
- 将公式作为
String
- 插入前导“=”
- 根据需要更改参数
- 或者
Evaluate()
公式并使用结果或者 将公式放入单元格
Sub UserSuppliedEquation() Dim v As Variant, sForm As String sForm = Application.InputBox(Prompt:="Enter Formula without leading equal sign", Type:=2) sForm = "=" & sForm v = Evaluate(sForm) MsgBox v & vbCrLf & sForm Range("B9").Formula = sForm End Sub