我正在计算一堆像密度和体积这样的值。我在表单上显示它们,当用户单击“更新”时,我将该数字保存到工作表中。
有很多数字,所以我想整齐地显示圆形版本而不会丢失更好的精确数字。
像
Sub SetDensity()
dim rDensity as double
rDensity = 0.78022134
me.txtDensity = Format(rDensity,"0.00") ' user sees 0.78
End Sub
当数据最终写入工作表时,我希望能够存储完整的精度,如:
Sub UpdateWS()
Sheets(1).Range("A:A") = me.txtDensity ' put value 0.78022134 on worksheet
End Sub
文本框是否有一个备用字段,我可以存储完整的数字而不显示它,或者我是否需要一个包含完整值的每个实数的隐藏文本框?
由于
答案 0 :(得分:1)
您可以使用TextBox
的{{1}}属性来存储值。这是一个简单的例子:
Tag
在这种情况下,您理想的做法是创建用户表单的实例并将值作为Private Sub UserForm_Activate()
Me.TextBox1.Tag = 2.38232
Me.TextBox1.Value = Format(Me.TextBox1.Tag, "0.00")
Me.TextBox2.Tag = 4.99999
Me.TextBox2.Value = Format(Me.TextBox2.Tag, "0.00")
End Sub
Private Sub CommandButton1_Click()
MsgBox Me.TextBox1.Tag * Me.TextBox2.Tag
End Sub
传递给它,然后当用户单击“确定”时,您将计算出的值作为另一个{{ 1}}。这是一个post from my site,一个来自Daily Dose of Excel,它提供了一般的想法。您可以使用这些概念并进行修改以使用文本框。