I’m working with 7 dynamic dependent lists, and I thought the best way to automate the process and avoid to arrange anything in a future if I modify the lists was a VBA code.
The VBA code that I started to work on it is posted on: Dynamic Depending Lists in Separated WorkSheets in VBA
That code is just for the 2 first lists.
That’s the main table that I have. I want pick lists for the first row only for the yellow columns:

That’s the table that I have the lists (they must be dynamic):

The relations between my lists are:
- Responsible list and Site list are related with Project list.
- The other lists are related with the site list.
Okay. I’ve got what you are looking for. I solved this issue a few months back in another project. Basically, indirect is no good here because it doesn’t work on dynamic named ranges, because they don’t produce an actual result, just a formula reference.
First, set up your named ranges on a sheet like so. It’s very important that the named ranges be named in the manner I described, as this will feed the code into making your dynamic lists. Also, note, I only wrote out SamplePoints for X1 and T2. If you select other options, the code won’t work until you add those named ranges in.
Then assuming input sheet is set up like below:
Place this code in the worksheet change event of your input sheet. What it does is take the value selected in one cell and then appends the appropriate column name to feed that list. So, if Project A is selected and you want to pick a responsible party for project A, it sets the validation in Range(“B(whatever row you are on)” to be A_Responsible, thus giving you that list.
You will also need this function in a standard module somewhere in your workbook.