I could be wrong, but it's my belief tables can only be worked with like that on an individual basis.
This would be why with your selection from one table only, Excel used the table and column names, and when the selection was from multiple tables Excel ignored the tables and used ranges.
To use the table and column names to do the copying, I think you'll need to loop through the tables on the sheet and do it one at a time.
A couple of links to pages dealing with tables that may interest you
http://www.jkp-ads.com/Articles/Excel2007TablesVBA.asp
http://www.thespreadsheetguru.com/bl...t-excel-tables