I recently had reason to split a table vertically.

Place the cursor in any cell of a table, and run the macro. It should preserve borders etc but leave (Print Preview mode) an apparent gap between columns.

I could fine-tune the beast to set the gap-column to be 50% of the narrowest column in the table, etc etc etc.

<pre>Sub udf_VerticalSplit()
Selection.InsertColumns
Selection.Cells.SetWidth ColumnWidth:=CentimetersToPoints(1), RulerStyle:= _
wdAdjustNone
Selection.Rows.SpaceBetweenColumns = CentimetersToPoints(0)
With Selection.Cells
.Borders(wdBorderTop).LineStyle = wdLineStyleNone
.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
.Borders(wdBorderHorizontal).LineStyle = wdLineStyleNone
End With
End Sub
</pre>