Have you tried table's DataBodyRange instead of a named range?
ws.ListObjects("YourTableName").DataBodyRange.Address ' <-- If only a specific column is needed then add .Columns(1) before .Address
Also, when adding a new item that is not on the list to the table, you should not use the "Set" command. Not that you can't, but you are actually setting "Result" to the combo box object itself.
Set Result = cCont ' <-- remove
ws.Cells(NxtEmptyRow, 20).Value = cCont.Value
I don't know if these would help your problems, just suggesting some ideas.
Bookmarks