Excel Drop Down List From Different Workbook

Excel Drop Down List From Different Workbook

In Excel, you can create a drop down Data Validation list, so it’s easy to enter valid items in a cell.

Usually, the list of valid items is stored in the same workbook, but it’s possible to set up a drop down from a list in another workbook — as long as the other workbook is open.


The instructions are below, and watch the video to see the steps. The demo uses Excel 2010, and it’s the same in Excel 2007, except that there is an Office button, instead of a File tab.

Drop Down from a List in Another Workbook

Important Note: For the data validation to work, the workbook that contains the list must be open, in the same instance of Excel. Users will have to open both the workbooks — the one with the drop down lists, and the workbook with the original source list.

The following instructions are for Excel 2007 and later. On my website, there are similar instructions to create a data validation list from a different workbook in Excel 2003.

drop down from a list in another workbook
drop down from a list in another workbook

Create the Source List

In this example, you have a workbook named DataValWb.xlsx, which contains a list of customer names. This list is in a range named CustName. (For instructions on creating a named range, refer to Naming Ranges.)

Create a Named Reference to the Source List

Next, you’ll create named range in the workbook where the drop down list will be added.

  1. Open the workbook that contains the source list — DataValWb.xlsx in this example.
  2. Open the workbook in which you wish to use the list in Data Validation, or create a new workbook.
  3. On the Ribbon, click the Formulas tab, then click Define Name.
    • DefineNameCmd
  4. Type a name for the List, e.g. MyCustList
  5. From the Scope drop down, select Workbook
  6. Click in the Refers to box — this is where you’ll type a reference to the named range in the source workbook
  7. Type an equal sign, then the source workbook name and extension. Do NOT include any square brackets in the name. For example:
    =DataValWb.xlsx
  8. OR, if the workbook name includes spaces, start and end the name with an apostrophe. For example: ‘DataVal May10.xlsx’
  9. Next, type an exclamation mark — !
  10. Finally, type the range name in the source workbook
  11. The completed reference should look like this:
    =DataValWb.xlsx!CustName
    OR =’DataVal May10.xlsx’!CustName
  12. Click OK

NewNameCustList

Create the Dropdown List

  1. Select the cells in which data validation will be set.
  2. On the Ribbon, click the Data tab, then click Data Validation
  3. In the Allow box, choose List
  4. In the Source box, type an equal sign, then the list name that you just created, e.g.: =MyCustList
  5. Click OK

DataValMyCustList

Use the Data Validation List

Remember, to use the data validation drop down list, both workbooks must be open.

  1. Open both workbooks — the one with the drop down lists, and the workbook with the original source list.
  2. Select an item from the data validation drop down list.

Watch the Video

Watch this video to see the steps for creating a drop down from a list in another workbook. You’ll see how to set up the named ranges, and the drop down lists. The demo is in Excel 2010.

________________________________

83 thoughts on “Excel Drop Down List From Different Workbook”

  1. By “delete the bad link” do you mean delete the source file, recreate the source file, and then tell the ‘result’ file to look for the newly created source file? The “MoM Template” result file in my case doesn’t seem to allow me to change the source file at all. I have been able to recreate the “MoM Template” from scratch and tell it to attach to a source file (to force the change) but I get the same problem. Another piece of info that may help shed some light … the “MoM Data” and “MoM Template” files are in 2 different folders on the same machine but then accessed across the network by a number of users. Could this be a ‘path’ issue?

  2. Another option in my opinion is to Create a DataQuery to get the list of Customer Names from the source workbook (connected by network) and NamedRange that portion that will fill combo-box.
    This will neither required Enableing Macro nor you have to open the Source workbook.
    Murtaza

  3. The video is very specific as to how to do this, and I have done it many times, but to no avail. I get a message that “the source currently evaluates to an error. Do you want to continue?” when I enter a valid code from the separate open workbook.

    1. @Leo do you see the drop down list that shows the items from the other open workbook, or are you not able to create the list?
      Also, make sure you’re using the correct spelling for the name in the other workbook — it’s easy to miss a letter, or add an extra one.

  4. Long confusion with regard to the dropdown list from different work book is solved. Thanks alot. The video was very precise.

  5. I’ve read many of the responses, but I am still wondering how I can work around opening the source workbook? We have a list of values that will be common for every project, so it makes more sense to have one source workbook, with all the values listed, and then the project workbooks in the working directories. I am using Data Validation to try and make the lists (which is working) but it stops working when the source is closed.
    If there is something else that I should be looking at, other then data validation, then I am open to that.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.