A few years ago I was working on an estimator similar to your idea. My idea was to Use a UserForm for initial input with the first ComboBox (AKA Multi-column dropdown. Example: cmboJobs) to access the list in Column A, of the attachment. The code would then Find across Row one for the Item selected (Example: "Foundation") in cmboJobs and assign the Range associated with "T3" to the next ComboBox .
cmboTasks.RowList = Rows(1).Find(cmboJobs.Value).CurrentRegion
In the Next ComboBox (cmboTasks) when the User selected an item (Example: "Trenching") the code would Find down the same column that "T3" was found in for "TTrn" and assigns the found CurrentReqion to the next ComboBox.
The trick is that VBA UserForm ComboBoxes can have multiple Columns and some can be hidden from the User, but all can be used by Code. The first Column will be the Value of the ComboBox, but can be hidden from the User. I was going to use the third column for subsidiary WorkSheets when present.
Note that I am not talking about Form or Control ToolBox controls as found in the Excel Menu. I use the controls found in VBA when you Insert a UserForm in the Project Explorer Pane.