It appears that in a regular table (where all columns align exactly) this code would have just filled one column. But if at least one row has different column width/alignment (or maybe there are merged cells) then more than one column gets the inserted text.
Can you verify that all the table cells are aligned perfectly?
PS. I would deal with the selection error a different way.
Code:
Sub aTest()
Dim Lstr As String, aCell As Cell
If Selection.Information(wdWithInTable) Then
Selection.InsertColumns
Lstr = Me.txtColLeftText
For Each aCell In Selection.Cells
aCell.Range.Text = Lstr
Next aCell
Selection.MoveRight Unit:=wdCell
End If
End Sub