ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Change variable permanently (https://www.excelbanter.com/excel-programming/371572-change-variable-permanently.html)

Arne Hegefors

Change variable permanently
 
I have a macro that makes calculations. In these calculations an error margin
is tolerated. In the spreadsheet the user can press a button and a userform
is shown. In this userform the error margin is shown in textbox. The user can
change the error margin if wanted but the problem is that the change only
lasts as long as the variable lives. As my macro is structured now the
userform is run separately from the actual calculations i.e. any change in
error margin will have no affect on the actual calculations since the
variable will already be dead when the calculation starts. Is there any way
of €śpermanently€ť storing the new value? What I am referring to is some form
of self editing code that changes the value for the variable. The variable
that I use for storing the error margin is a global variable.

Here is code from the userform:

Private Sub UserForm_Initialize()
dblErrorMarginal = 0.00000001
TextBox1.Text = dblErrorMarginal
End Sub

Private Sub changeErrorMargin_Click()
dblErrorMarginal = TextBox1.Text
Unload Me
End Sub

And at the top of the Modul1 where I have the main program:

Public dblErrorMarginal As Double

Please help me solve this problem if it is possible. Thank you very much in
advance!


Gary''s Student

Change variable permanently
 
Store the value of the variable in an un-used cell.
--
Gary's Student


"Arne Hegefors" wrote:

I have a macro that makes calculations. In these calculations an error margin
is tolerated. In the spreadsheet the user can press a button and a userform
is shown. In this userform the error margin is shown in textbox. The user can
change the error margin if wanted but the problem is that the change only
lasts as long as the variable lives. As my macro is structured now the
userform is run separately from the actual calculations i.e. any change in
error margin will have no affect on the actual calculations since the
variable will already be dead when the calculation starts. Is there any way
of €śpermanently€ť storing the new value? What I am referring to is some form
of self editing code that changes the value for the variable. The variable
that I use for storing the error margin is a global variable.

Here is code from the userform:

Private Sub UserForm_Initialize()
dblErrorMarginal = 0.00000001
TextBox1.Text = dblErrorMarginal
End Sub

Private Sub changeErrorMargin_Click()
dblErrorMarginal = TextBox1.Text
Unload Me
End Sub

And at the top of the Modul1 where I have the main program:

Public dblErrorMarginal As Double

Please help me solve this problem if it is possible. Thank you very much in
advance!


Arne Hegefors

Change variable permanently
 
Yes I thought about that too but although it solves the problem it does not
seem like an optimal solution but I might just do that if it is not possible
to fix elsewise. Thanks very much Gary's Student and give my best to Gary!

"Gary''s Student" skrev:

Store the value of the variable in an un-used cell.
--
Gary's Student


"Arne Hegefors" wrote:

I have a macro that makes calculations. In these calculations an error margin
is tolerated. In the spreadsheet the user can press a button and a userform
is shown. In this userform the error margin is shown in textbox. The user can
change the error margin if wanted but the problem is that the change only
lasts as long as the variable lives. As my macro is structured now the
userform is run separately from the actual calculations i.e. any change in
error margin will have no affect on the actual calculations since the
variable will already be dead when the calculation starts. Is there any way
of €śpermanently€ť storing the new value? What I am referring to is some form
of self editing code that changes the value for the variable. The variable
that I use for storing the error margin is a global variable.

Here is code from the userform:

Private Sub UserForm_Initialize()
dblErrorMarginal = 0.00000001
TextBox1.Text = dblErrorMarginal
End Sub

Private Sub changeErrorMargin_Click()
dblErrorMarginal = TextBox1.Text
Unload Me
End Sub

And at the top of the Modul1 where I have the main program:

Public dblErrorMarginal As Double

Please help me solve this problem if it is possible. Thank you very much in
advance!


Bob Phillips

Change variable permanently
 
Store it in a workbook name

ActiveWorkbook.Names.Add Name:="__temp", RefersTo:=Textbox1.Text

retrieve it with

MsgBox ActiveSheet.Evaluate(ActiveWorkbook.Names("__temp" ).RefersTo)



--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Arne Hegefors" wrote in message
...
I have a macro that makes calculations. In these calculations an error

margin
is tolerated. In the spreadsheet the user can press a button and a

userform
is shown. In this userform the error margin is shown in textbox. The user

can
change the error margin if wanted but the problem is that the change only
lasts as long as the variable lives. As my macro is structured now the
userform is run separately from the actual calculations i.e. any change in
error margin will have no affect on the actual calculations since the
variable will already be dead when the calculation starts. Is there any

way
of "permanently" storing the new value? What I am referring to is some

form
of self editing code that changes the value for the variable. The variable
that I use for storing the error margin is a global variable.

Here is code from the userform:

Private Sub UserForm_Initialize()
dblErrorMarginal = 0.00000001
TextBox1.Text = dblErrorMarginal
End Sub

Private Sub changeErrorMargin_Click()
dblErrorMarginal = TextBox1.Text
Unload Me
End Sub

And at the top of the Modul1 where I have the main program:

Public dblErrorMarginal As Double

Please help me solve this problem if it is possible. Thank you very much

in
advance!




Bob Phillips

Change variable permanently
 
:-)

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Arne Hegefors" wrote in message
...
Yes I thought about that too but although it solves the problem it does

not
seem like an optimal solution but I might just do that if it is not

possible
to fix elsewise. Thanks very much Gary's Student and give my best to Gary!

"Gary''s Student" skrev:

Store the value of the variable in an un-used cell.
--
Gary's Student


"Arne Hegefors" wrote:

I have a macro that makes calculations. In these calculations an error

margin
is tolerated. In the spreadsheet the user can press a button and a

userform
is shown. In this userform the error margin is shown in textbox. The

user can
change the error margin if wanted but the problem is that the change

only
lasts as long as the variable lives. As my macro is structured now the
userform is run separately from the actual calculations i.e. any

change in
error margin will have no affect on the actual calculations since the
variable will already be dead when the calculation starts. Is there

any way
of "permanently" storing the new value? What I am referring to is some

form
of self editing code that changes the value for the variable. The

variable
that I use for storing the error margin is a global variable.

Here is code from the userform:

Private Sub UserForm_Initialize()
dblErrorMarginal = 0.00000001
TextBox1.Text = dblErrorMarginal
End Sub

Private Sub changeErrorMargin_Click()
dblErrorMarginal = TextBox1.Text
Unload Me
End Sub

And at the top of the Modul1 where I have the main program:

Public dblErrorMarginal As Double

Please help me solve this problem if it is possible. Thank you very

much in
advance!





All times are GMT +1. The time now is 12:38 PM.

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