tgrog,
Based on your description, here are the steps to follow:
1) Create a range name for the first cell in your column of formulas. In my example, I've used the name "start".
2) Create a range name for cell $A$4. I've used the name "amt" (short for amount).
3) Off to the side, or preferably on a separate sheet that you've designated as your "macro" sheet, create a range name for the start of your macro. I've used the name: \Q.
By using such a range name (starting with "\", followed by a letter, I expect you're aware that to activate this macro, you hold down the <Control> key and hit the letter - "Q".
4) In this cell you've named \Q, enter the following:
{GOTO}start~{check}
5) Leave a blank cell, and in the next cell after the blank cell, create the range name "check", and enter the following:
{IF @CELLPOINTER("contents"

=""}{GOTO}start~{QUIT}
6) In the next cell, enter:
{IF @CELLPOINTER("contents"

<=amt}/RV~~
7) In the next cell, enter:
{D}{BRANCH check}
You should now be able to activate your macro, and it will do as you've requested... convert to values all those formulas that contain values <= the value in $A$4 (the cell you've named "amt"

.
If, by chance your list of formulas is LONG, you should be aware of the code for turning the windows and panel OFF, as this will make this process MUCH faster.
To turn the windows/panel OFF, use the following in the cell you've named \Q:
{INDICATE "Processing... please wait"}{WINDOWSOFF}{PANELOFF}
To turn the windows/panel back ON, use the following in the cell you've named "check":
{IF @CELLPOINTER("contents"

=""}{WINDOWSON}{PANELON}{INDICATE}{GOTO}start~{QUIT}
Please note that the above routine will terminate when it reaches a BLANK cell, so it's assumed your scenario is one where there are NO BLANK cells within your range of formulas to be checked.
I hope this helps.

Please advise as to how you make out.
Regards, ...Dale Watson dwatson@bsi.gov.mb.ca