Would something like this work? Untested, but I'd think it should do what you want?
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsUserFormLoaded("uform1") Then
uForm1.Load
End If
uForm1.txtbox1 = Target.Column
uForm1.Show
End Sub
'===
' gijsmo April 24th, 2011; http://www.ozgrid.com/forum/showthread.php?t=152892
Function IsUserFormLoaded(ByVal UFName As String) As Boolean
Dim UForm As Object
For Each UForm In VBA.UserForms
IsUserFormLoaded = UForm.Name = UFName
If IsUserFormLoaded Then
Exit For
End If
Next
End Function 'IsUserFormLoaded