将文本框的值传递给公式

时间:2018-03-26 13:32:23

标签: excel vba excel-vba

我想将文本框的值传递给VBA(Excel)中的公式

Private Sub CommandButton1_Click()
Dim min As Integer
Dim max As Integer

min = Val(UserForm1.TextBox3.Value)
max = Val(UserForm1.TextBox4.Value)

Range("A1").End(xlDown).Offset(1, 0).Select
ActiveCell.FormulaR1C1 = 
"=RandBetween(Val(UserForm1.TextBox3.Value),Val(UserForm1.TextBox4.Value))"

End Sub

我想在min(textbox3)和max(textbox4)之间的区域设置一个随机数。

遗憾的是,我无法将文本框中的值传递给:

"=RandBetween(xxxx,xxx)"

Excel中的输出:

=RandBetween(Val(UserForm1.TextBox3.Value),Val(UserForm1.TextBox4.Value))

似乎公式没有得到整数值。如果我试试

=RandBetween(4,5)

直接在VBA中运行。

我试图将值存储在变量(min,max)中[如你所见]

你可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

您需要从引号中取出文本框引用,因为Excel不知道它们的含义。如果列A为空,则此代码不起作用。

Range("A1").End(xlDown).Offset(1, 0).FormulaR1C1 = _
"=RandBetween(" & Val(UserForm1.TextBox3.Value) & "," & Val(UserForm1.TextBox4.Value) & ")"