Hi Tom
Met my urgent deadline so I am not QUITE so busy!
You are right you must add the text from the array to the correct cell NOT loop round ALL cells
Also (my mistake) you need to account for the first array value being txtArray(0) not as you might expect txtArray(1)
Forgive me if you are good at math and I am talking down to you here!
The loop needs to be UBound(txtArray)-1 to 0
and the math for the correct cell is
M=(I \ rowsReply)+1 [ NB backslash= INTEGER division]
N=(I Mod rowsReply) +1
So that section of the code would be
[vba] For I = (UBound(txtArray) - 1) To 0 Step -1 'account for array starts at zero
'do something with txtArray(i)
M = (I \ rowsReply) + 1 ' note \ = integer division
N = (I Mod rowsReply) + 1
.Cell(M, N).Shape.TextFrame.TextRange = txtArray(I)
Next I[/vba]
Few more points I wouldn't use Chr$(13) as your seperator as it may occur in the original table Maybe use something unlikely like Chr$135 don't forget to change it in the Split too!
I would tag the original shapes so the can be deleted later
[vba]shp.Tags.Add, "DELETE","YES"[/vba]
The order of text in the new table will depend on the original selection order. This will be fairly hard to fix!
You might wan't to read my vba tute on Input boxes too
http://www.pptalchemy.co.uk/powerpoi...rials.html#vba
Hope that gets you on the right track
John