I looking for a way to define a non volatile dynamic range that allows the user to cut and paste the range.

This formula does everything I want except that it's volatile.
"myCount" is determined elsewhere in the workbook. Assuming that it's current value is 10.

=Offset($D$4,0,0,myCount,1)
This formula isn't volatile but it doesn't allow the user to cut and paste $D$4:$D$13 because the $D:$D doesn't move with $D$4.
=Index($D:$D,Row($D$4)):Index($D:$D,Row($D$4)+myCount,1)
Any suggestions?