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 / September 2007

Tip: Looking for answers? Try searching our database.

Capturing Listbox Selections

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Randy - 14 Sep 2007 21:21 GMT
Hi,
I've got two multi-select listboxes on a userform.  The idea is that
listbox A contains all possible items and listbox B is a subset of A
defined by the user.  I'm struggling with capturing the selected
values in A so that they can be copied to B.  Here is my code:

   With frmManageGroups.lbxA
       For x = 0 To .ListCount - 1
           If .Selected(x) = True Then
               frmManageGroups.lbxB.AddItem .List(.ListIndex)
               .Selected(x) = False
           End If
       Next
   End With

The way that this is written, it only copies the last item selected in
listbox A.  For example, if the listbox A contains the letters A,B,
and C as its items and the user selects A and C, my code copies the
letter C twice to listbox B instead of the letters A and C.

Can anybody help?
Thanks,
Randy
Joel - 14 Sep 2007 22:18 GMT
Not usre what you were really tryiing to do.  this is how I prevent
duplicates from getting into a Listbox.  I checd the with statement from A to
b.  I'm checking to see if the item is already in the list box B

  With frmManageGroups.lbxB
       For x = 0 To .ListCount - 1
           Found = False
           If frmManageGroups.lbxB = .List(x) Then
               
              Found = True
              exit for
           End If
       Next
       if found = False then
               frmManageGroups.lbxB.AddItem
       end if
   End With

> Hi,
> I've got two multi-select listboxes on a userform.  The idea is that
[quoted text clipped - 19 lines]
> Thanks,
> Randy
George Nicholson - 14 Sep 2007 23:06 GMT
>frmManageGroups.lbxB.AddItem .List(.ListIndex)

You don't want to use ListIndex there.  In a multi-select list box,
ListIndex is the item that has the *focus* in the UI, so if 2 items have
been selected, but C has the focus (whether selected or not!), you'll end up
with 2 C's.

frmManageGroups.lbxB.AddItem .List(x)

HTH,

> Hi,
> I've got two multi-select listboxes on a userform.  The idea is that
[quoted text clipped - 19 lines]
> Thanks,
> Randy
Randy - 14 Sep 2007 23:21 GMT
You're right, George.  I just needed (x) and not (.ListIndex).

Thanks to both of you for your advice.

Randy
 
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.