2016-07-05 18 views
1

複数のテキストボックス(A、B、C)の値を1つのテキストボックス(D)に集計し、テキストボックス(A/D、B/D、C/D)、パーセント値を他のテキストボックス(E、F、G)に配置します。 複数のVBAユーザーフォームの算術演算

は私はE、F、GボックスにA、B、Cの割合を計算する際に困難に直面しています次のコード

If A.Value = "" Then Exit Sub 

If B.Value = "" Then Exit Sub 

If C.Value = "" Then Exit Sub 

D.Value = CDbl(A.Value) + CDbl(B.Value) + CDbl(C.Value) 

を使用して値を合計に成功しました。

誰でも私がこのようなものをコード化するのを手助けできるのであれば、本当に感謝します。あなたはそれを見るために、ユーザのために彼らのために新しい値を設定したい場合は

おかげ

+3

なぜCフラグ? – Tim

+0

VBA ---> ** ** ** ** ** ** ** ** ** pplicationsのためのasic ... – LPs

+0

あなたはパーセンテージで直面している問題は何ですか?あなたの努力を投稿してください... – LPs

答えて

1

まず第一に、私はあなたがtexboxesの.Textプロパティを使用するべきだと思います。

.Text.Valueのプロパティには若干の違いがあり、私が提供したリンクを参照することができます。要約すると、.Textは情報を表示し、テキストボックスに保持されている.Valueとは異なる場合があります。

あなたが書いたことに従って私が理解しているように、入力番号に基づいてユーザーの情報を表示したいですか?

したがって、私は、次のコードは、トリックを行うべきだと思う:

' Also, to prevent the updating of every items of the Userfrom 
' and then calculate the percentages, I would suggest using variables 
Dim aVal As Single, bVal As Single, cVal As Single, tempVal As Single 

If A.Text = "" Then Exit Sub 
aVal = CDbl(A.Text) 

If B.Text = "" Then Exit Sub 
bVal = CDbl(B.Text) 

If C.Text = "" Then Exit Sub 
cVal = CDbl(C.Text) 

tempVal = aVal + bVal + cVal 

' Displaying the values in the different textboxes and rounding the percentages 
D.Text = tempVal 
E.Text = round(aVal/tempVal * 100, 2) 
F.Text = round(bVal/tempVal * 100, 2) 
G.Text = round(cVal/tempVal * 100, 2) 

よろしく。

+0

Pierre Chavallier ...ありがとうたくさん:) –

+0

この投稿があなたが尋ねたものを満たし、必要に応じてアップフォートを行うと思ったら、答えとしてマークすることを忘れないでください。 –