I think the problem is with the default value for the keys that aren't specified. This works with both early and late binding: rangeToSort.Sort( Key1=sheet.Columns( 3 ), Order1=1 , Header=1, Key2=pythoncom.Missing, Key3=pythoncom.Missing ) Roger