2

密度や体積などの値の束を計算しています。それらをフォームに表示し、ユーザーが「更新」をクリックすると、その番号をワークシートに保存します。

数字が多いので、精度の良い数字を失わずに丸めたバージョンを綺麗に表示したいです。

お気に入り

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

テキストボックスには、表示せずに完全な数値を格納できる代替フィールドがありますか?それとも、完全な値を含む実数ごとに非表示のテキストボックスが必要ですか?

ありがとう

4

1 に答える 1

1

TextBoxのプロパティを使用し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

この状況で理想的に行うことは、ユーザーフォームのインスタンスを作成し、値を として渡し、Propertiesユーザーが「OK」をクリックすると、計算された値を別の として戻すことForm Propertyです。ここに私のサイトからの投稿と、Daily Dose of Excelからの投稿があり、一般的なアイデアが得られます。これらの概念を使用して、テキスト ボックスを操作するように変更できます。

于 2013-08-12T22:52:33.323 に答える