Link to home
Start Free TrialLog in
Avatar of greddin
greddinFlag for United States of America

asked on

Drop-down list Question

On a separate worksheet I have a vlookup table that has columns like these:

CountryID     CountryName
---------     -----------
   1          United States
   2          Canada
   3          China
etc...

Open in new window


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?
Avatar of dlmille
dlmille
Flag of United States of America image

See attached example, using MS Forms Drop Down.  if you right click the drop down, you can format the control, set a range equal to what's displayed, and also a cell link.  The cell link will get a number from 1-X in order of the drop down.

Dave
exampleDropDown-r1.xls
Avatar of Martin Liss
Use the Combo1.ItemData(index) value.

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
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
Avatar of greddin

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
Avatar of dlmille
dlmille
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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
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
Avatar of greddin

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.
Avatar of greddin

ASKER

Thanks again!