using variables in listbox
You could hide the userform instead of unloading it.
Or you could declare your array (is that what you're using?) in a General module
and make it public:
In a general module:
Public myArr() as string
In the Ok button of the userform (or where you want it):
Private Sub CommandButton1_Click()
Dim L As Long
Dim iCtr as long
redim myArr(0 to me.listbox1.listcount - 1)
ictr = -1
For L = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(L) = True Then
ictr = ictr + 1
myarr(ictr) = Me.ListBox1.List(L)
End If
Next L
if ictr = -1 then
'nothing selected, what should happen here?
'stop the process and warn the user???
else
redim preserve myArr(0 to iCtr)
end if
unload me
End Sub
When the userform is unloaded, then the array will still exist.
John wrote:
Here's my problem. The program runs until "UserForm1.Show" which opens
the listbox and everything works great. I run code similar to what you
offered below and have my data in an array.
But now what? I want to close the listbox and use the data to do other
things. If I do "Unload UserForm1" all the variables are wiped out.
I have a command button "OK" on the userform but the manual I used
(Excel VBA Programming for Dummies) didn't say what to use for it. The
only thing I know is "unload userform1."
Thanks
Harald Staff wrote:
Hi John
Sure. Question is, pass them from the listbox and to what ?
General way to scan the listbox for selections:
Private Sub CommandButton1_Click()
Dim L As Long
For L = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(L) = True Then
MsgBox Me.ListBox1.List(L)
End If
Next
End Sub
HTH. Best wishes Harald
"John" wrote in message
...
My first attempts at using listboxes.
have listbox in a user form with multiple selections.
Is there a way to pass the selections out of the listbox? Right now
when I close the listbox all the variables holding the selections
disappear too.
Or to do more with the selections do I just hide the listbox?
Thanks
JOhn
--
Dave Peterson
|