Pass variable from user form to macro

G

Guest

I'm using a user form to get a selection from a customer, which I then will
place in a cell in the worksheet. How do I pass this selection from the user
form to the controlling sub?

Sub PopulateListWithShingleTypeRange()
'Shingle Type Selection
Dim Selection As String
Dim ShingleSeletion As String
For Each x In Sheet1.Range("StblShingleType")
UserForm1.ListBox1.AddItem x.Value
Next
UserForm1.Caption = "Shingle Selection"
With UserForm1.Label1
' Set the text of the label.
.Caption = "Select the Shingle Type"
End With
UserForm1.Show
Range("InptShingleType").Value = Selection
UserForm1.Hide
End Sub

I've tried declaring a variable with the same name in the user form, but
that didn't work either. Thanks.
 
T

Tom Ogilvy

Sub PopulateListWithShingleTypeRange()
'Shingle Type Selection
Dim Selection As String
Dim ShingleSeletion As String
For Each x In Sheet1.Range("StblShingleType")
UserForm1.ListBox1.AddItem x.Value
Next
UserForm1.Caption = "Shingle Selection"
With UserForm1.Label1
' Set the text of the label.
.Caption = "Select the Shingle Type"
End With
UserForm1.Show
Range("InptShingleType").Value = Userform1.ListBox1.Value
Unload Userform1
End Sub


In the userform you should have code to hide the userform.

An alternate method would be to use the click event of the listbox in the
userform

Private Sub Listbox1_Click()
if listbox1.ListIndex <> -1 then
Range("InptShingletype").Value = Listbox1.Value
end if
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