This works for me.
Code:
Sub JoinTables()
Dim aRng As Range
Set aRng = Selection.Range
Do While aRng.Tables.Count > 1
aRng.Tables(aRng.Tables.Count).Range.Previous(Unit:=wdParagraph).Delete
Loop
End Sub
I'm pretty sure it will have problems if one or more of the tables are floating (have text wrap turned on).