How take form based data entry back to main sub?


C

Chet

Hi -
I am new to using 'custom dialog boxes'. I am trying to take some data
from my user form once I have hit the OK button on the userform and
bring those entries back to my main sub where I will use this data to
run the rest of my code. I am able to get the form working but the
userform inputs seem to be local to the code that I have for the form
but I haven't been able to get the variables back to my main code
section.

PS, My userform is in my personal.xls and I will be using the data to
affect a separate workbook.

Thanks,
Chet

Code I have so far....

'///////////////////////CODE IN THE
USERFORM///////////////////////////////////////
Private Sub CommandButton2_Click()

End Sub



Private Sub OKButton_Click_Click()
Msg = "You selected Item # "
Msg = Msg & ListBox1.ListIndex
Msg = Msg & vbCrLf
Msg = Msg & ListBox1.Value
LocID = ListBox1.Value
MsgBox Msg
Unload UserForm1
End Sub


'/////////////////MAIN PROGRAM CODE////////////////////////////////
Sub TOOLBAR_POSTAL_BYP_MIX_BREAKOUT_vsn2()


With UserForm1.ListBox1
.AddItem "SFO"
.AddItem "OAK"
.AddItem "SJC"
End With
With UserForm1.ListBox2
.AddItem "ORIG"
.AddItem "DEST"
End With
With UserForm1.ListBox3
.AddItem "Weekday"
.AddItem "Saturday"
.AddItem "Sunday"
End With

UserForm1.ListBox1.ListIndex = 0
UserForm1.Show

'the rest of the code follows here unrelated to the data / form
entry//////////
Application.ScreenUpdating = False
Direction = InputBox("Input DEST or ORIG")
Direction = UCase(Direction)
 
Ad

Advertisements

G

Guest

If you declare all your variables used for input as Public (at the top of the
userform module - not inside your subs) they are global variables; that is,
they are available to all modules. There are other ways, too, but this is
simplest.
 
Ad

Advertisements

C

Chet

I just tried that and watched the value of LocID and it keeps the value
until the UNLOAD USERFORM1 command is ran and then I get 'out of
context' for that variable even with the public declaration of the
variables. See my code below. (It's very simple.) .. Thx!

Public Direction As String
Public DOW As String
Public LocID As String
Private Sub CommandButton2_Click()

End Sub
Private Sub OKButton_Click_Click()
Msg = "You selected Item # "
Msg = Msg & ListBox1.ListIndex
Msg = Msg & vbCrLf
Msg = Msg & ListBox1.Value
LocID = ListBox1.Value
MsgBox Msg
'Unload UserForm1
End Sub
Private Sub UserForm_Click()

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top