формирование отчета в Эксель #189122


#0 by ksergey
с вашей помощью удалось решить большую часть проблем вывода и "разукрашивания".  осталось вот одна, котр. так и не смог побороть: в одну из ячеек таблицы вывожу следующ.формулу проверки вводимых данных:  =ЕСЛИ( ОСТАТ($G16;$E16)=0; ""; "учтоните кол-во") в Эксель вставляю так пробовал и через Ячейка.Formula = формПров; всё время вываливается ошибка в строке Ячейка.Value = формПров; хотя в Экселе формула работает. кто сталкивался с таким?
#1 by clappa
Кажется, когда задаешь формулы программно, нужно писать функции по-английски.
#2 by ksergey
я это тож думал (пробовал в синтаксисе =IF(MOD) ) - всё равно ошибка по ходу алгоритма в другую ячейку пишется формула автосуммы - все работает
#3 by skunk
ActiveCell.FormulaR1C1 = "=SUM(R[-4]C,R[-2]C)"
#4 by ksergey
у меня работает так Ячейка.Formula = "=SUM($H10:$H"+(I)+")";
#5 by skunk
Formula Property Returns or sets the object's formula, in A1-style notation and in the language of the macro. Read/write Variant for Range objects, read/write String for all other objects. FormulaR1C1 Property Returns or sets the formula for the object, using R1C1-style notation in the language of the macro. Read/write Variant for Range objects, read/write String for Series objects.
#6 by skunk
заметь разницу... а из видно, что он пишет формулу в стиле R1C1
#7 by Кузьма
Работать будет и так и эдак.
#8 by ksergey
(6,7) ну хоть подскажите как протестить код и понять откуда ползет ошибка, а то методом тыка уже замучался перебирать..
#9 by skunk
формПров="""=ЕСЛИ(ОСТАТ($G"+
#10 by ksergey
поставил простую формулу типа =$G16+$E16 это работает
#11 by skunk
занчит что-то у тебя в формуле не так
#12 by Питанчик
Ячейка.Formula = "=СУММ($H10:$H"+(I)+")";
#13 by Питанчик
а что это за (I) ? почему нет преобразования в строку?
#14 by skunk
дефолтом в строку корветнется... особеность 1С
#15 by ksergey
#16 by Питанчик
попробуй СУММ
#17 by ksergey
уважаемый, СУММА у меня как раз работает и вычисляется. интересный момент: в коде я написал "SUM", а в моем русском оффисе эксель конвертнул формулу как "СУММ"
#18 by clappa
Ещё момент: в английском написании параметры разделяются "," а не ";"
#19 by ksergey
ура, заработало  усем спасибо!!!!!   должно быть так Ячейка.FormulaR1C1 = "=IF(MOD(RC[-5],RC[-7])=0,  "+Симв+Симв+", "
#20 by ksergey
короче, как я теперь понял, лучший способ избежать всех этих "трахов" - записать МАКРОС в экселе и внимательно посмотреть на родной синтаксис
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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