Excel question- Resampling from an array

Hi all-

I normally consider myself to be pretty good with excel, but I am stumped on this one.

First off, I know how to use the Resample function in excel; my question is a little more subtle than that.

I have an array of values that for reasons I won’t go into has zeros in it. I want to resample (with replacement) the array to form a new array, but IF a zero is selected, I want to throw it out and resample again so that I have a new array with no zeros in it. I can do this with a series of nested IF() statements. However, I am doing this so many times during my simulation that eventually a zero makes it through (even through 10 worksheets of IF() statements).

What I need, O Dopers, is either a novel way of putting function statements together to keep resampling until a zero is not selected, no matter how long it takes, or a macro that will do this.

Thanks a million,

MM