Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

COM Excel Промежуточные итоги

COM Excel Промежуточные итоги
Я
   1Сергей
 
09.08.18 - 10:29
Добрый день, дамы и господа!

Никак не получается в excel-е через СОМ установить промежуточные итоги.

            ИначеЕсли (ИмяЯчейки = "Qty") ИЛИ (ИмяЯчейки = "Sum") тогда
                
                Ехель.Columns(Идн).NumberFormat = "# ##0,00";

                //Ехель.Cells(ЧислоСтрок + 1,Идн).FormulaR1C1 = "=SUBTOTAL(109,[" + ИмяЯчейки + "])";

                //Ехель.Cells(ЧислоСтрок + 1,Идн).FormulaR1C1 = "=SUBTOTAL(109,[R[-" + Формат(ЧислоСтрок, "ЧГ=") + "]C:R[-1]C)";

                Ехель.Cells(ЧислоСтрок + 1,Идн).FormulaR1C1Local = "=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;[" + ИмяЯчейки + "])";



Во всех случаях выскакивает подобная ошибка:
{ВнешняяОбработка.ИзXMLвXLSX.Форма.Форма.Форма(83)}: Ошибка при установке значения атрибута контекста (FormulaR1C1Local)
                Ехель.Cells(ЧислоСтрок + 1,Идн).FormulaR1C1Local = "=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;[" + ИмяЯчейки + "])";
по причине:
Произошла исключительная ситуация (0x800a03ec)


Подскажите, пожалуйста, как победить?
 
 
   Deon
 
1 - 09.08.18 - 10:39
Вот эта конструкция должна работать хорошо:
Ехель.Cells(ЧислоСтрок + 1,Идн).FormulaR1C1 = "=SUBTOTAL(109,[R[-" + Формат(ЧислоСтрок, "ЧГ=") + "]C:R[-1]C)"

Только у тебя тут лишняя открывающая скоба [ перед первым R стоит
   1Сергей
 
2 - 09.08.18 - 10:43
(1) Вот, блин. Слона-то я и не приметил :)

Огромное человеческое спасибо!
   Deon
 
3 - 09.08.18 - 10:43
А если у тебя область именованная, то скобок не надо:
Ехель.Cells(ЧислоСтрок + 1,Идн).FormulaR1C1Local = "=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;" + ИмяЯчейки + ")";
   1Сергей
 
4 - 09.08.18 - 10:59
(3) Да, работает, спасибо

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует