View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Dave D-C[_3_] Dave D-C[_3_] is offline
external usenet poster
 
Posts: 176
Default Show/Hide Userform erases global vriables

Question:
Why does showing and hiding a userform erase all the global variables?
This is in Excel97. Is it different in later versions?

Demo:
A module with only:
Public Globalx%

A Userform with a textbox:
Private Sub TextBox1_KeyDown( _
ByVal KeyCode As MSForms.ReturnInteger, _
ByVal Shift As Integer)
If KeyCode = 13 Then UserForm1.Hide
End Sub

A sheet with 4 buttons:
Button1 loads Globalx with 1234.
Button2 inputs a number using a listbox.
Button3 inputs a number using a userform.
Button4 displays Globalx.

Hitting buttons 1, 2, and 4: Globalx is still valid.
Hitting buttons 1, 3, and 4: Globalx is lost.

Private Sub CommandButton1_Click()
'-Loads Globalx
CommandButton1.Caption = "Load Globalx"
CommandButton2.Caption = "Inputbox"
CommandButton3.Caption = "Userform"
CommandButton4.Caption = "Display Globalx"
DoEvents ' to see new captions
Globalx = 1234
MsgBox "globalx = " & Globalx
End Sub

Private Sub CommandButton2_Click()
'-Inputs a number using inputbox
Cells(2, 1).Value = _
InputBox("Enter a number", , 4321)
MsgBox "globalx = " & Globalx
End Sub

Private Sub CommandButton3_Click()
'-Inputs a number using userform
UserForm1.Show
Cells(3, 1).Value = _
UserForm1.TextBox1.Value
MsgBox "globalx = " & Globalx
End Sub

Private Sub CommandButton4_Click()
'-Displays Globalx
MsgBox "globalx = " & Globalx
End Sub


----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----