My intention is to put it into a table.If the named ranges are, or can be, made into tables, then you can use INDIRECT (even though those are technically dynamic) and pass the table/column names.
Yeah you're right about this. I still need to pick up the name (fMMBUAR) from another table, and INDIRECT doesn't seem to be working with this dynamic cell.I notice that the definition of fMMBUAR could be changed from =INDEX(QUOTE!$O:$O, ROW(), 0) by select a cell in row 1 (of what ever sheet you're on) and defining fMMBUAR as =QUOTE!$O1
What are the definitions you are using?
I suspect that if you use that in another table, then unless all your ranges are the same size as that table, you'll have problems unless you wrap your INDIRECT in an INDEX formula to extract specific cells.
=INDIRECT(fMMBUAR) is not the same as =INDIRECT("fMMBUAR")
The original situation appears to be a cell containing the name of the range, hence the use of INDIRECT. That is equivalent to =INDIRECT("fMMBUAR"), not =INDIRECT(fMMBUAR). The latter will evaluate whatever fMMBUAR refers to and pass that to INDIRECT.