tearing hair out - Listbox collection

M

MattShoreson

I have a userform with 5 listboxes on it.

It there a neater way of cycling through each listbox control rather
than evaluating each one in turn?

Something like

for each lb in userform.listboxes
msgbox lb.name
next lb

CIA,
Matt.
 
M

mangesh_yadav

There should be a way to check if the control is a listbox type using
something like:
msoControl... I am not able to find right now.

Using code like:

For Each lb In UserForm1.Controls
MsgBox lb.Name
Next

lists all the controls in your userform. Using an if statement, you can
limit it to all listbox types.

A simple workaround would be to check for the names of these controls.
Suppose you have named them ListBox1, ListBox2... till 5, then you
could use:

For Each lb In UserForm1.Controls
if left(lb.name,7)="ListBox" then
MsgBox lb.Name
end if
Next


Mangesh
 
M

mangesh_yadav

This worked for me nicely:

For Each lb In UserForm1.Controls
If LCase(Left(lb.Name, 7)) = "listbox" Then
MsgBox lb.Name
End If
Next

But the names of the listboxes need to be starting with listbox___

for example:
Listbox1
Listbox2
Listbox3
ListboxFour
etc.

Mangesh
 
M

MattShoreson

Right the code to cycle thru ctls is cool. Works a treat.
However as the control is a multiselect combo...

I need to evaluate the selected items and the control object doesnt
have a listbox prop.

Any ideas on how to possibly assign the object to have listbox props or
will I just have to change the object to a variant type?
 

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