Actually, let me put up some working code so you get a better idea.

Form1 (put a command button on form1):
Code:
Public Happy As String

Private Sub Command1_Click()
    Form2.Show
End Sub

Private Sub Form_Load()
    Happy = "Happy"
End Sub
Form2:
Code:
Private Sub Form_Load()
    MsgBox Form1.Happy
End Sub
Hope that will clear things up. There are some things which cannot be declared public on a form, but at the moment, I'm reletively unsure what they are. The above example does, however, work