If you give your cells a Defined Name and only use that Defined Name when referring to those cells, VBA will automatically reference the correct cells no matter where you move them. For example, give cell C5 the Defined Name "Rick" and give cell F9 the Defined Name "excelos". Now put values into those two cells (use numbers for now, but you can put anything into them... including formuals). Put this in the Immediate Window and hit the Enter Key...
? Range("Rick").Value * Range("excelos").Value
and note the answer. Now go to the worksheet and move those two cells to different locations. Go back to the Immediate Window and execute the above code line again. Same answer.
Note... there is a shortcut notation you can use to reference the value in cells with Defined Names. This line of code in the Immediate Window will produce the identical result as the one I gave above...
? [Rick] * [excelos]
And, for something simple like this multiplication, you could even do it this way...
? [Rick*excelos]
The point... VBA can automatically track ranges that have been given Defined Names.