ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Changing the textbox value without changing the textbox format? (https://www.excelbanter.com/excel-programming/372375-changing-textbox-value-without-changing-textbox-format.html)

Ozgur Pars[_2_]

Changing the textbox value without changing the textbox format?
 
Hello,
I have a userform with text boxes and I assign values from cells like below:
UserForm1.TextBox1.value = Sheets("Calculation").Range("A1").value
UserForm1.TextBox1.text = Sheets("Calculation").Range("A1").text

However when I change the code later to something like this:
UserForm1.TextBox1.value = Sheets("Calculation").Range("B1").value

Not only is the value updated/changed but the format is gone also.
How can I set the format/text only one time (on activate of userform for
example) so that I don't need to set the format everytime?

Thank you,
Ozgur

Mark Driscol[_2_]

Changing the textbox value without changing the textbox format?
 
Ozgur,

Is there a reason why you need to use the .Value statements? In your
code below you are overwriting any value you display in the TextBox.
If you use just the .Text statement for formatting is preserved.

Let's say Cell A1 has a value of 55.3333 and it is formatted as
"$55.3". When you use the .Value statement below followed immediately
by the .Text statement, you would display "$55.3". You would be
overwriting the value of 55.3333 that you had just put there.

Mark


Ozgur Pars wrote:
Hello,
I have a userform with text boxes and I assign values from cells like below:
UserForm1.TextBox1.value = Sheets("Calculation").Range("A1").value
UserForm1.TextBox1.text = Sheets("Calculation").Range("A1").text

However when I change the code later to something like this:
UserForm1.TextBox1.value = Sheets("Calculation").Range("B1").value

Not only is the value updated/changed but the format is gone also.
How can I set the format/text only one time (on activate of userform for
example) so that I don't need to set the format everytime?

Thank you,
Ozgur



Ozgur Pars[_2_]

Changing the textbox value without changing the textbox format
 
Mark,
you are totaly right I somehow assumed that I have to first get the .value
and then do the formating with the .text and never questioned the reasoning
behind it later.
Thanks your help now I can get rid of the .values and save time and resources.

Appreciate your effort,
Ozgur

"Mark Driscol" wrote:

Ozgur,

Is there a reason why you need to use the .Value statements? In your
code below you are overwriting any value you display in the TextBox.
If you use just the .Text statement for formatting is preserved.

Let's say Cell A1 has a value of 55.3333 and it is formatted as
"$55.3". When you use the .Value statement below followed immediately
by the .Text statement, you would display "$55.3". You would be
overwriting the value of 55.3333 that you had just put there.

Mark


Ozgur Pars wrote:
Hello,
I have a userform with text boxes and I assign values from cells like below:
UserForm1.TextBox1.value = Sheets("Calculation").Range("A1").value
UserForm1.TextBox1.text = Sheets("Calculation").Range("A1").text

However when I change the code later to something like this:
UserForm1.TextBox1.value = Sheets("Calculation").Range("B1").value

Not only is the value updated/changed but the format is gone also.
How can I set the format/text only one time (on activate of userform for
example) so that I don't need to set the format everytime?

Thank you,
Ozgur





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

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