我想将文本框的值传递给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)中[如你所见]
你可以帮帮我吗?答案 0 :(得分:1)
您需要从引号中取出文本框引用,因为Excel不知道它们的含义。如果列A为空,则此代码不起作用。
Range("A1").End(xlDown).Offset(1, 0).FormulaR1C1 = _
"=RandBetween(" & Val(UserForm1.TextBox3.Value) & "," & Val(UserForm1.TextBox4.Value) & ")"