VBA Excel:如何存储实数但在文本框中显示舍入的数字?

时间:2013-08-12 22:16:31

标签: excel-vba textbox vba excel

我正在计算一堆像密度和体积这样的值。我在表单上显示它们,当用户单击“更新”时,我将该数字保存到工作表中。

有很多数字,所以我想整齐地显示圆形版本而不会丢失更好的精确数字。

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

文本框是否有一个备用字段,我可以存储完整的数字而不显示它,或者我是否需要一个包含完整值的每个实数的隐藏文本框?

由于

1 个答案:

答案 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,它提供了一般的想法。您可以使用这些概念并进行修改以使用文本框。