|
|
|
Проблема с формулами в Excel, вставленными из 1С | ☑ | ||
|---|---|---|---|---|
|
0
NikVars
05.12.08
✎
12:03
|
Имеется с нужными данными xls-файл НужныйФайл, в который я загнал формулы из 1С. Вот так:
Эксел= СоздатьОбъект("Excel.Application"); ФайлЭксел = Эксел.Workbooks.Open(НужныйФайл); НашЛист = ФайлЭксел.Sheets(НужныйЛист); Для Н = 1 По ТД.КоличествоСтрок() Цикл ТД.ПолучитьСтрокуПоНомеру(Н); Если СокрЛП(ТД.Формула)<>"" Тогда НашЛист.Cells(ТД.НомСтр, 5).Formula = СокрЛП(ТД.Формула); //Например, ТД.Формула=”=СУММ(D5:D19)+E4-C5” - строка КонецЕсли; КонецЦикла; ФайлЭксел.SaveAs(СокрЛП(НужныйФайл)); Эксел.WorkBooks.close(); Эксел.Quit(); Файл сохраняется, но при открытии этого файла все вставленные из 1С формулы автоматом не пересчитываются, вместо них выводится сообщение #ИМЯ?. Однако, если стать на ячейку с формулой, введенной из 1С, и нажать клавишу F2, то показываются на листе выделением ячейки, участвующие в формуле, разными рамочками, и если далее щелкнуть мышкой вне этой ячейки, то формула пересчитывается. Далее файл сохраняется и все работает как обычно. А что нужно сделать, чтобы все пересчиталось автоматом при открытии файла? Или как пересчитать лист автоматом или книгу? Еще в Excel в Сервис-Параметры-Вычисления стоит точка Вычисления автоматически. Там же если нажать на кнопку Вычислить или F9 на листе. Ничего не происходит. |
|||
|
1
ТелепатБот
гуру
05.12.08
✎
12:03
|
||||
|
2
NikVars
05.12.08
✎
12:04
|
+(0) Вдогонку...
Проверял это все на 3 компах под Офисом 2003. Результат один. |
|||
|
3
lea_220400
05.12.08
✎
12:06
|
делай пустую строку с этими формулами и копируй потом эту строку при сохранении формул и свойст ячеек программно
|
|||
|
4
Cap_1977
05.12.08
✎
12:06
|
(0) Формулы надо писать в аглицком варианте. Когда пишешь в русском она почему-то не работает до тех пор пока не передернешь ячейку.
|
|||
|
5
NikVars
05.12.08
✎
12:08
|
(3) Не понял фразы "делай пустую строку с этими формулами".
(4) Понял! Попробую! |
|||
|
6
lea_220400
05.12.08
✎
12:14
|
(5) делал года два назад, есть файл Excel, там есть начальное заполнение, просто копировал предыдущую строку с сохранением её вида и всех формул и т.д., а отом ее заполнял, для продажников делал, удобно для 5-10 магазинов, а ля крупной сети не очень, т.к. много весит и долго будет собирться, зато там можно в 1С не париться с заполнением формул и делить продажи по средним чекам и всему остальному, типа по неделям и месяцам и кварталам.
|
|||
|
7
NikVars
05.12.08
✎
12:17
|
(4) Попробовал... Что у меня нету такой функции SUM, есть только СУММ.
Чего делать?! |
|||
|
8
NikVars
05.12.08
✎
12:18
|
(6) То есть ты предлагаешь ту колонку предваритель заполнить какой-нибудь формулой? А потом прогнать в 1С и подставить другую формулу?
|
|||
|
9
Cap_1977
05.12.08
✎
12:19
|
(7) Напиши SUM вместо СУММ :)))
|
|||
|
10
NikVars
05.12.08
✎
12:22
|
(9) А ты сам в эксел в ячейки нажми = напиши это. Интересно, заработает??? :))
У меня не работает. |
|||
|
11
smaharbA
05.12.08
✎
12:25
|
ветка на один пост, развели бодягу
.FormulaLocal= |
|||
|
12
NikVars
05.12.08
✎
12:29
|
(6) Забил по всему столбцу перед вставкой формулы в 1С формулу "=0+0", ексел ее вычисляет. Прогнал через обработку, та же петрушка, где я вставил формулу #ИМЯ?.
И еще. Я не могу копировать формулу. У меня алгоритм расчета в 1С хитроумный, простым копированием он не решается, так в одной строчке суммируются 5 ячеек, в другом 10, в третьем одна. Это зависит от данных в других стоблцах. Так же и слагаемое прыгает относительно нужной строчки как зря. |
|||
|
13
NikVars
05.12.08
✎
12:31
|
(11) Ура!!!!!!!!!!!!!!!!!!! Заработало!!!!!!!!!!!!
И где ты раньше-то был!!! Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|||
|
14
smaharbA
05.12.08
✎
12:33
|
(13) некогда мне, я легенду о лендлизе развенчиваю и политое грязью имя отца народов отмываю...
|
|||
|
15
NikVars
05.12.08
✎
12:35
|
(11) А в чем тогда разница между .FormulaLocal= и .Formula=?
|
|||
|
16
OFF
05.12.08
✎
12:36
|
||||
|
17
smaharbA
05.12.08
✎
12:37
|
можешь и formula, но тогда делай как в (9) и точки запятой меняй на запятые
|
|||
|
18
NikVars
05.12.08
✎
12:38
|
Нашел ответ!
FormulaLocal для русских названий!!! Спасибо всем!!!!!!!!!!!! |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |