![]() |
How take form based data entry back to main sub?
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) |
How take form based data entry back to main sub?
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. -- - K Dales "Chet" wrote: 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) |
How take form based data entry back to main sub?
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 |
All times are GMT +1. The time now is 03:35 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com