greddin
asked on
Drop-down list Question
On a separate worksheet I have a vlookup table that has columns like these:
I've seen examples that show how to display the drop down and see the country names themselves, but I would like to know how to insert the CountryID instead of the CountryName in the cell. So when a user clicks the dropdown on the cell, they will see the country names listed, but when they select "United States" the CountryID of "1" is added to the column.
Is this possible? Are there any exampels of this anywhere?
CountryID CountryName
--------- -----------
1 United States
2 Canada
3 China
etc...
I've seen examples that show how to display the drop down and see the country names themselves, but I would like to know how to insert the CountryID instead of the CountryName in the cell. So when a user clicks the dropdown on the cell, they will see the country names listed, but when they select "United States" the CountryID of "1" is added to the column.
Is this possible? Are there any exampels of this anywhere?
Use the Combo1.ItemData(index) value.
For example Range("A1").Value = Combo1.Itemdata(2)
For example Range("A1").Value = Combo1.Itemdata(2)
In the attached, using a data validation list below the drop down example, you can select any country and have that country's ID displayed using an INDEX/MATCH function.
Cheers,
Dave
exampleDropDown-r2.xls
Cheers,
Dave
exampleDropDown-r2.xls
Here is a simple example using an ActiveX ComboBox. The key things are, look at the properties of the combobox - make ColumnCount = 2, then ColumnWidths 0; to make the first column hidden. Keep BoundColumn as 1 - that says use the first column as the result. ListFillRange is set to 'Countries', a named range that includes the id and name columns for the countries, and finally LinkedCell is set to E1 to say put the result in E1 (ie this is where the bound column value will go.countries.xlsx
Hope this helps
Stuart
Hope this helps
Stuart
ASKER
To dlmille, when using a form like this how would I use this form control down the entire column. On my first worksheet when I'm selecting the country, there will be a long list of rows where I have to select the country. Your example is almost what I envision, but is there a way to do this with a vlookup function?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
See this last example, where you have a larger column of countries to select. Its easy enough then to use the lookups to find the country ID.
Dave
exampleDropDown-r4.xls
Dave
exampleDropDown-r4.xls
Looks like everyone was busy while I was typing my answer :) If you want a whole column, the best options would be Dave's data validation solution, as this is easy to apply to multiple cellls - you could addd the controls, but that would require VBA and be quite clumsy and difficult to extend
ASKER
Thanks Dave for the newer example, looks like the data validation list is what I wanted. This is perfect. Thanks for showing me an example.
ASKER
Thanks again!
Dave
exampleDropDown-r1.xls