отчет в формате xls с формулами Excel ? #460218


#0 by plant
Делается отчет в 1с ,сохраняется в xls с целью продолжить обработку в Excel помимо данных хотелось бы и сохранять экселевские формулы (суммирования и прочие) поскольку потом их вводить весьма долго, но если в ячейке записана формула при открытии в Excel она считается константой хотя если дважды щелкнуть на этой ячейке мышью ,чтобы войти в редактирование а потом ничего не сделав выбрать другую ячейку то формула становится формулой и считается ,но таких ячеек больше тысячи и дважды щелкать на каждой очень долго.    Есть ли возможность решения проблемы ?
#1 by NikVars
Хоть бы вместо философствований привел бы формулу что для не телепатов...
#2 by dk
конечно возможно либо по OLE менять формулы либо макросом в Excel
#3 by Seducer
Это?
#4 by plant
Простой пример ,отчет 1с содержит таблицу данных в правой колонке я помещаю например екселевскую формулу суммирования =СУММ(RC[-12]:RC[-1]), сохраняю в формате xls , открываю в Excel формула не считает ,эксель воспринял что это константа но если я двойным кликом выбираю эту ячейку для редактирования и ничего не сделав перехожу к другой то - все формула стала формулой и считает
#5 by NikVars
"я помещаю например", как ты помещаешь например?
#6 by jbond
SpreadsheetML только у 1С-ки нет подходящего шаблонизатора, а так очень быстро формируется (это текст) и не нужен Эксель поддерживаются сводные таблицы
#7 by DrZombi
Ексель лучше заполнять через АДО, а уж потом в оле его форматировать... получится быстрее ;)
#8 by plant
в конфигураторе записал в ячейку через буфер нужную формулу ,на мой взгляд проблема в том что Excel при открытии такого документа и не пытается обработать эту ячейку как формулу но повторюсь если самому выбрать эту ячейку для редактирования и ничего не поменяв подтвердить то все сразу работает
#9 by Попытка1С
А в свойствах пересчитать весь лист не покатит? ф7 вроде
#10 by plant
извиняюсь если не могу понятно донести суть проблемы ,попробую еще раз :   мне не нужен механизм OLE и прочие связи , мне нужно просто сохранить отчет в формате xls ,в этом отчете наряду с данными хотелось бы и иметь ячейки с экселевскими формулами потому что потом их очень долго вставлять а при формировании отчета они сами располагаются в нужных местах ,а формулы мне эти нужны для анализа вариантов при изменении некоторых данных , Excel при открытии такого документа считает эти формулы - константами , но при выборе и подтверждении этих ячеек все становится в порядке , но выбирать и подтверждать каждую такую ячейку трудоемко их больше тысячи .   Ф7 - проверка орфографии
#11 by 1Сергей
ну там пункт меню Сервис > Параметры > Вычисления > Кнопка "Пересчет листа"
#12 by plant
судя по всему пересчет работает для опознанных формул , получается если я в экселе набираю знак = то он сразу понимает "будет формула" , а если ячейка записана не в экселе и начинается на знак = ему пофиг
#13 by FN
сначала сохраняешь в xls, потом открываешь по ОЛЕ и во всех ячейках, значение которых начинается с "=" проставляешь Cells.FormulaLocal=Cells.Value.
#14 by plant
Это вариант (еще бы вспомнить свою практику работы с OLE) ,а при помощи макросов возможно ?
#15 by dk
ты читал?
#16 by plant
не совсем понял
#17 by plant
в я приводил формулу или нужно что то еще
#18 by plant
dk извиняюсь неправильно посмотрел номера ,но VBA особо не знаю получается что я могу в 1С записывать формулы ,но потом в экселе нужно при помощи макроса находить эти ячейки и втолковывать экселю что это формулы ?
#19 by NikVars
#20 by dk
да перебирать всю область с данными, см.
#21 by plant
NikVars cпасибо большое ,но более легкий для меня вариант все-таки используя макрос перебрать таблицу .Если можно напишите как в VBA написать цикл вида : от колонки № до колонки № цикл                         от строки № до строки № цикл                         конец цикла                     конец цикла
#22 by Табуретко
А если создать пустую таблицу с забитыми формулами и заполнять по Оле данными из эски? (как вариант)
#23 by Табуретко
у меня пара отчетов для супервайзеров по понедельникам так выгружается...
#24 by plant
придется затратить n-ное количество времени на доработку отчета и проблема еще в том что в зависимости от галочек меняется формат таблицы ,что решается если формулы прописываются тоже в 1С
#25 by plant
В общем то вопрос решен : после открытия отчета в Excel запускается макрос который проходит все ячейки и в каждой выполняет ActiveCell.FormulaLocal=ActiveCell.Value после этого формулы оживают ,наверно топорно ,зато быстро   Спасибо всем кто откликнулся.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С