Solved

Find listindex position in listbox

Posted on 2013-05-10
5
898 Views
Last Modified: 2013-05-12
I've got a question regarding listboxes. In this example, I've populated a listbox with a range (customers) from a worksheet.

How do I find the listindex position of a customer (column 2)?
I know that, for example "Robert" is (by looking at the listbox) in listindex position 2. Is there a way to do this programmatically?

Thanks

Massimo

screengrab of the userformlistbox.xlsm
0
Comment
Question by:Massimo Scola
  • 2
  • 2
5 Comments
 
LVL 46

Assisted Solution

by:Martin Liss
Martin Liss earned 50 total points
ID: 39157227
Private Sub cboCustomers_Click()
 txtList.Text = cboCustomers.ListIndex
End Sub

Open in new window

0
 

Author Comment

by:Massimo Scola
ID: 39157259
Hello Martin
That works but I should have used another userform instead.

Let's assume the name needs to be searched in column 2 of the listbox, how do you do that? I've changed the userform a bit. new userform - with textbox instead of comboboxlistbox2.xlsm
0
 
LVL 81

Expert Comment

by:byundt
ID: 39157295
For the first example, you could use this code to identify the ListIndex and select the name chosen in the combobox:
Private Sub cboCustomers_Change()
Dim i As Integer
With Me.lstCustomers
    For i = 1 To .ListCount
        If .Column(1, i - 1) = Me.cboCustomers.Value Then
            Me.txtList.Value = i - 1
            Exit For
        End If
    Next
End With
End Sub

Private Sub cmdClick_Click()
If txtList.Value <> "" Then Me.lstCustomers.Selected(txtList.Value) = True
End Sub

Open in new window

Brad
0
 
LVL 81

Accepted Solution

by:
byundt earned 450 total points
ID: 39157306
And for the second workbook, the code would be:
Private Sub txtName_Change()
Dim i As Integer
With Me.lstCustomers
    For i = 1 To .ListCount
        If .Column(1, i - 1) = txtName.Value Then
            Me.txtList.Value = i - 1
            Exit For
        End If
    Next
End With
End Sub

Private Sub cmdClick_Click()
If txtList.Value <> "" Then Me.lstCustomers.Selected(txtList.Value) = True
End Sub

Open in new window

0
 

Author Closing Comment

by:Massimo Scola
ID: 39159925
Hello Brad
Thanks a lot for your help.

Massimo
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This code takes an Excel list of URL’s and adds a header titled “URL List”. It then searches through all URL’s in column “A”, looking for duplicates. When a duplicate is found, it is moved to the top of the list. The duplicate URL’s are then highlig…
Some code to ensure data integrity when using macros within Excel. Also included code that helps secure your data within an Excel workbook.
Learn how to make your own table of contents in Microsoft Word using paragraph styles and the automatic table of contents tool. We'll be using the paragraph styles in Word’s Home toolbar to help you create a table of contents. Type out your initial …
This Micro Tutorial will demonstrate in Google Sheets how to use the HYPERLINK function to create live links inside your spreadsheet.

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question