After a little further thought, I believe the Excel crashing that resulted from my initial process may have been due to my order of operations...unloading the userform before calling the outside subroutine and passing the variable (illustrated in my first post but shown here as well):
Private Sub CommandButton1_Click()
Dim Supp As String
Supp = Me.Controls.Item("ComboBox1").Value
Unload Me
Call MakeOrderTbl(Supp)
End Sub
I think that had I used Me.Hide instead of Unload Me, and then waited to unload the userform in the MakeOrderTbl(Supp as String) subroutine like I ended up doing, Excel wouldn't have gotten confused and later crashed. I suspect that even though the code would "work", in that it still functioned to call the sub and pass the argument, Excel wasn't able to actually follow the chain of events since the argument was being passed from something that didn't exist (the userform had already been unloaded). Just a theory though.
I'll leave this thread open for a little while in case someone with a better understanding of all of this wants to chime in. It would be nice to get some input on what is considered the "right" or "best" way to work with user-selected userform variables in outside subroutines.
Bookmarks