Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Programming / May 2008

Tip: Looking for answers? Try searching our database.

Multiselect listbox if no selection

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
BigPig - 21 May 2008 14:34 GMT
Hi All,

I have a listbox that is multiselect. I want to find a way to figure out if
anything is selected, if not "do something". I wrote this which works, but I
have to think that there is an easier way.

Dim Z As Integer
Z = 0
With lst_Comp_Lv
   For i = 0 To .ListCount - 1
       If .Selected(i) Then
       Else
           Z = Z + 1
       End If
   Next i
End With

If Z = lst_Comp_Lv.ListCount Then
   MsgBox "There was nothing selected."
   Exit Sub
End If

I also tried:

If lst_Comp_Lv = Null Then
   MsgBox "There is nothing selected."
   Exit Sub
End If

But that didn't work.

Any suggestions or advice you could provide would be greatly appreciated.
Thank you.
Jim Rech - 21 May 2008 14:45 GMT
You do have to go through the list box an item at a time.  You could quit
the loop as so as you find a selected item though.

Dim SomethingSelected as Boolean
With lst_Comp_Lv
   For i = 0 To .ListCount - 1
       If .Selected(i) Then
           SomethingSelected = True
           Exit For
       End If
   Next i
End With
If Not SomethingSelected Then
   MsgBox "There was nothing selected."
End If

Signature

Jim

| Hi All,
|
[quoted text clipped - 29 lines]
| Any suggestions or advice you could provide would be greatly appreciated.
| Thank you.
BigPig - 21 May 2008 14:56 GMT
Hi Jim,

Thank you that worked.

Question:

Why wouldn't this work?

If lst_Comp_Lv = Null Then
MsgBox "There is nothing selected."
Exit Sub
End If

Thanks again.
Jim Rech - 21 May 2008 16:16 GMT
>>If lst_Comp_Lv = Null Then

You didn't specified a property. A list box has several.  What property of
the list box are you comparing to Null?  The default propery is Value.  So
what you're really asking is:

If lst_Comp_Lv.Value = Null Then

But what does the Value property of a list box represent?  You've assumed it
represents whether any items are selected I guess but maybe it represents
the number of items in the listbox.  Or its length or name or...  So we
check Help.

Help says the Value proerty of a list box is "The value in the BoundColumn
of the currently selected rows."

That certainly has nothing to do with whether any items are selected.  So
that's why it didn't help you.

Signature

Jim

| Hi Jim,
|
[quoted text clipped - 10 lines]
|
| Thanks again.
BigPig - 21 May 2008 16:58 GMT
Jim,

Yes I was assuming that if I didn't select anything, the value of the
listbox would be null.

Thank you for your thorough explanation.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.