If you try this on a table that doesn't have the same number of columns as rows it errors out. For instance, 3 cols, 2 rows.

2x2 works, but it pastes the names in reverse order. I think it's because of the structure of an ungrouped table. It seems the last row/col becomes the top-most "layer" and each subsequent textbox is "behind" the other. That's why I thought I would have to paste the array in reverse order starting in the upper left cell.

I'm not very good with math when it comes to this kind of thing, so you didn't offend me with that part. I don't understand what that part is doing to figure out which part of the array to use.