I think a macro will do the trick, but I am not experienced enough to write one up. Here's what I'm looking for.

Variables: Need a pop-up box to enter any number of text strings (DATA1, DATA2, DATA3, etc.) and another pop-up box to enter a percentage in numeral form (PERCENTAGE1, PERCENTAGE2, PERCENTAGE3, etc.) There has to be a PERCENTAGE variable for every DATA variable and the sum of all the PERCENTAGE variables must equal 100 exactly.

Execution: The macro will randomly fill cells E3:E1002 with each DATA string. The number of cells filled will be equal to the PERCENTAGE multiplied by 10 entered for each DATA string. (NOTE: The PERCENTAGE number is multiplied by 10 because there are exactly 1,000 cells to be filled. This range of cells will never change.)

For example, we have the following entered by the user at the opening of the workbook.

DATA1 = Apple - PERCENTAGE1 = 65
DATA2 = Ball - PERCENTAGE2 = 26
DATA3 = Cat - PERCENTAGE3 = 9

Based on this user-entered information, the macro would determine the sum of the PERCENTAGE values does equal 100 then would randomly fill "Apple" into 650 (PERCENTAGE1 X 10) empty cells between E3:E1002. Then, it would fill "Ball" into 260 of the remaining empty cells in the range E3:E1002 and finally fill "Cat" into the remaining 90 empty cells within that range.

Ideally, the macro would sum the PERCENTAGE values and return an error message if the sum does not exactly equal 100. Also, since the number of DATA strings is not constant, there would have to be a way to tell the macro the user if finished entering DATA strings. Perhaps the user entering an empty DATA string, or something similar.

This seem feasible? Doesn't sound too complicated for an advanced VBA writer, but I'm just not that talented.

THANKS IN ADVANCE!