I hope I understand your question.
it seems that you should use the Offset property.
For example, you may have the following code:
....
'a range name "Base" is defined for a reference cell
dim col_offs as integer
dim val as variant
if cond1 then col_offs = 1
if cond2 then col_offs =2
if cond3 then col_offs = 3
....
val = range("Base").offset(col_offs, 0).value
....