You’re actually getting the error on the 2nd Redim not the 2nd Messagebox
From the designer help:
If Preserve is specified, you can change only the upper bound of the last array dimension. Attempting to change any other bound results in an error.
Also, it’s probably better to use properly declared and initialized integers for your bounds rather than letting it fall back on Variant.
Also, I’m not sure you’ve managed to get an array with one row and two columns to begin with. You probably want to start with bounds(0,1) which would give you positions (0,0) and (0,1) for the first “row”. Then the second row would be (1,0) and (1,1). However, due to the above limitation, attempting to do this dynamically is not a useful endeavour.
Alain, another way to solve this problem is to turn your head sideways as you code, so that the “rows” parameter becomes the one you can change with a redim.