Something else I don't understand about Ranges vs. Selection:

<pre>I want to write the FUNCTION below as :
rngTbl.Tables(1).Columns(1).InsertColumns
but that is not allowed. You/I can only InsertColumns with a Selection object.

The following is allowed.
rngTbl.Columns.Add BeforeColumn:=Selection.Columns(1)
</pre>


So you gets a choice, you can InsertColumns with a Selection, or you can Add BeforeColumn with a range.


<pre>Public Function InsertLeftColumn(rngTbl As Range)
' Procedure: InsertLeftColumn
' Description: Insert one column at the left of the table
' By: Chris Greaves Inc.
' Inputs: RANGE of table.
' Returns: None.
' Assumes: None.
' Side Effects: Page layout may change.
' Tested: By the calls below.
rngTbl.Tables(1).Columns(1).Select
Selection.InsertColumns
'Sub TESTInsertLeftColumn()
'Documents.Add
'ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=8, NumColumns:=8
'Call InsertLeftColumn(Selection.Tables(1).Range)
'End Sub
End Function
</pre>