View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
donbowyer donbowyer is offline
external usenet poster
 
Posts: 107
Default Disappearing Public Variable

Many thanks semiopen - that was the problem.
--
donwb


"semiopen" wrote:


donbowyer wrote:
Hi again Dave
This is most strange.
I've tried a very stripped down version of my code bur the problem persists.
I have a UserForm (with OK, Cancel and a TextBox) and a Standard Module.

The Module code is:-
""Public MyText
Sub MyAddSheet()
UserForm1.Show
MyHold_1 = MyText
MyHold_2 = UserForm1.TextBox1.Text
End Sub""

The UserForm code is:-
""Private Sub CommandButton1_Click()
Dim MyText As Variant
MyText = UserForm1.TextBox1.Text
Unload UserForm1
End Sub""
The module code takes me to the UserForm. I insert text into TB1 and click OK.
As I step through, the text I put in TB1 appears in the Locals window as a
value under my Public Variable MyText.
When control returns to the module code, MyHold_1 says "Empty" and MyHold_2
says "" in the Locals window.
In other words the value in the variable disappears when control leaves the
UserForm.
?????

--
donwb


You have created a local variable in your user form which is hiding (or
"shadowing") the global variable. The user form loads the data into
*its* MyText - which goes out of scope when that routine is done. The
solution is to just get rid of the line

Dim MyText As Variant

Which should fix everything.

-semiopen