ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Calculating with textboxes.... (https://www.excelbanter.com/excel-programming/283369-calculating-textboxes.html)

Mark Rosenkrantz

Calculating with textboxes....
 
Dear all;

I have a UserForm with a few textboxes.
The first textbox : tbAmount holds an invoice amount.
The second textbox: tbVAT should display the amount of VAT ( 19 %
of the amount )

The formula I use is: .tbVAT.Value = .tbAmount.Value * 0.19

Looks fine to me.
But, the stupid box don't disply the right amount.
I live in Europe and the Regional settings are a dot ( . ) for the thousands
seporator and a comma ( , ) for the decimal seporator.

When I enter 2250,00 ( or 2250 ) in .tbAmount, then textbox .tbVat displays
:
427.5 which is not what I want as I hope to see :
427,50

When I bring these values over to the worksheet it displays :
? 2250,00 which is OK, and
? 4275,00 which is not OK, as I want to see:
? 427,50

Apparantly there is some error in the way the textboxes work with thousands.
What is wrong with me ???? ( assuming I am not perfect )
I can't see what I did wrong.

Mark.



Steve Garman

Calculating with textboxes....
 
Mark Rosenkrantz wrote:
Dear all;

I have a UserForm with a few textboxes.
The first textbox : tbAmount holds an invoice amount.
The second textbox: tbVAT should display the amount of VAT ( 19 %
of the amount )

The formula I use is: .tbVAT.Value = .tbAmount.Value * 0.19

Try:

..tbVAT.Value = FormatNumber(.tbAmount.Value * 0.19,2)


--
Steve Garman


Harald Staff

Calculating with textboxes....
 
Hi Mark

Don't trust a textbox's value property. Convert its text to number before calculation:

Sub test()
MsgBox CDbl("1.234,56")
End Sub

Dim R As Double
R = CDbl(.tbAmount.Text) * 0.19
..tbVat.Text = Format(R, "#,###.##")

Note that Format and VBA calculations use the american logic , for thousands and . for
decimals. You'll get used to it after a while.

-
HTH. Best wishes Harald
Followup to newsgroup only please.

"Mark Rosenkrantz" wrote in message
...
Dear all;

I have a UserForm with a few textboxes.
The first textbox : tbAmount holds an invoice amount.
The second textbox: tbVAT should display the amount of VAT ( 19 %
of the amount )

The formula I use is: .tbVAT.Value = .tbAmount.Value * 0.19

Looks fine to me.
But, the stupid box don't disply the right amount.
I live in Europe and the Regional settings are a dot ( . ) for the thousands
seporator and a comma ( , ) for the decimal seporator.

When I enter 2250,00 ( or 2250 ) in .tbAmount, then textbox .tbVat displays
:
427.5 which is not what I want as I hope to see :
427,50

When I bring these values over to the worksheet it displays :
? 2250,00 which is OK, and
? 4275,00 which is not OK, as I want to see:
? 427,50

Apparantly there is some error in the way the textboxes work with thousands.
What is wrong with me ???? ( assuming I am not perfect )
I can't see what I did wrong.

Mark.





Mark Rosenkrantz

Calculating with textboxes....
 
Thanks Harald and Steve.



"Harald Staff" wrote in message
...
Hi Mark

Don't trust a textbox's value property. Convert its text to number before

calculation:

Sub test()
MsgBox CDbl("1.234,56")
End Sub

Dim R As Double
R = CDbl(.tbAmount.Text) * 0.19
.tbVat.Text = Format(R, "#,###.##")

Note that Format and VBA calculations use the american logic , for

thousands and . for
decimals. You'll get used to it after a while.

-
HTH. Best wishes Harald
Followup to newsgroup only please.

"Mark Rosenkrantz" wrote in message
...
Dear all;

I have a UserForm with a few textboxes.
The first textbox : tbAmount holds an invoice amount.
The second textbox: tbVAT should display the amount of VAT (

19 %
of the amount )

The formula I use is: .tbVAT.Value = .tbAmount.Value * 0.19

Looks fine to me.
But, the stupid box don't disply the right amount.
I live in Europe and the Regional settings are a dot ( . ) for the

thousands
seporator and a comma ( , ) for the decimal seporator.

When I enter 2250,00 ( or 2250 ) in .tbAmount, then textbox .tbVat

displays
:
427.5 which is not what I want as I hope to see :
427,50

When I bring these values over to the worksheet it displays :
? 2250,00 which is OK, and
? 4275,00 which is not OK, as I want to see:
? 427,50

Apparantly there is some error in the way the textboxes work with

thousands.
What is wrong with me ???? ( assuming I am not perfect )
I can't see what I did wrong.

Mark.







Anonymous[_3_]

Calculating with textboxes....
 
Actually 'in Europe' we do not all use commas as decimal seperators!!!

The term decimal point - should be just that. I suppose you'll be using
commas for full stops next!!

Only joking - I hope you fix the problem. I find that storing the values in
variables and assigning these to the control value is a far better method to
apply calculations. You have more control them this way.

Cheers
N
UK Origin

"Mark Rosenkrantz" wrote in message
...
Dear all;

I have a UserForm with a few textboxes.
The first textbox : tbAmount holds an invoice amount.
The second textbox: tbVAT should display the amount of VAT ( 19

%
of the amount )

The formula I use is: .tbVAT.Value = .tbAmount.Value * 0.19

Looks fine to me.
But, the stupid box don't disply the right amount.
I live in Europe and the Regional settings are a dot ( . ) for the

thousands
seporator and a comma ( , ) for the decimal seporator.

When I enter 2250,00 ( or 2250 ) in .tbAmount, then textbox .tbVat

displays
:
427.5 which is not what I want as I hope to see :
427,50

When I bring these values over to the worksheet it displays :
? 2250,00 which is OK, and
? 4275,00 which is not OK, as I want to see:
? 427,50

Apparantly there is some error in the way the textboxes work with

thousands.
What is wrong with me ???? ( assuming I am not perfect )
I can't see what I did wrong.

Mark.






----== Posted via Newsfeed.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeed.com The #1 Newsgroup Service in the World! 100,000 Newsgroups
---= 19 East/West-Coast Specialized Servers - Total Privacy via Encryption =---


All times are GMT +1. The time now is 03:05 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com