(
6) Нет, выделять не надо, мне надо получить диапазон выбранных ячеек, что бы подставить его в создаваемый выпадающий список как параметр:
Excel.Names.Add("Categories", "=Лист2!R2C1:R" + Строка(ТекущаяСтрока-1) + "C1");
Область_Categories = "" + "=Лист2!R2C1:R" + Строка(ТекущаяСтрока-1) + "C1";
Excel.Sheets(1).Cells(ТекущаяСтрока,21).Validation.Add(3,1,1, Область_Categories);
 //Excel.Sheets(1).Cells(ТекущаяСтрока,21).Validation.Add(3,1,1,"=Лист2!C[-20]");
Excel.Sheets(1).Cells(ТекущаяСтрока,21).Validation.IgnoreBlank=1;
Excel.Sheets(1).Cells(ТекущаяСтрока,21).Validation.InCellDropdown=1;
Excel.Sheets(1).Cells(ТекущаяСтрока,21).Validation.ShowInput=0;
Excel.Sheets(1).Cells(ТекущаяСтрока,21).Validation.ShowError=1;
И что бы не использовать переменную Область_Categories, я думаю, что как то можно через область получить ее диапазон ячеек, но мне кажется, что проще область не объявлять, так оптимальнее будет )