powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как правильно суммировать в VFP для Excel-отчётов
10 сообщений из 10, страница 1 из 1
Как правильно суммировать в VFP для Excel-отчётов
    #34944325
Vasiliy_Yoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите плз, я формирую Excel отчёт и мне надо просумировать определённый участок, для этого я нахожу ту ячейку в которую мне надо будет записать сумму
m.col=m.oleapp.Cells.Find('Материалов').column
m.row=m.oleapp.Cells.Find('Материалов').row
а потом мне надо
m.oleapp.Cells(m.row,m.col+3).FormulaR1C1 = "=SUM(R[-63]C:R[-1]C)"
только вместо второго параметра в сумме надо сказать ему , что до текущей строки (m.row)
...
Рейтинг: 0 / 0
Как правильно суммировать в VFP для Excel-отчётов
    #34944932
gotko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот мой код, который сует в екселе в нижнюю ячейку таблицы функцию из a_cols(i,13) с дипазоном на столбец данных - работает 100%

xl_obj.Cells(rows_in_table+2,i).FormulaR1C1 = "="+alltrim(a_cols(i,13))+;
"(R[-"+alltrim(str(rows_in_table))+"]C:R[-1]C)"
...
Рейтинг: 0 / 0
Как правильно суммировать в VFP для Excel-отчётов
    #34944973
Vasiliy_Yoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, но дело в том что я суммирую до определённого места, тоесть до неопределённого самим Excel , а до той строки которую нахожу m.row=m.oleapp.Cells.Find('Материалов').row и если я использую в строке сумма расчёт на мою m.row , то он ругается и говорит что нельзя использовать в расчёте используемую расчётную переменную.... вот я и спрашиваю как правильно задать параметр для одновременного поиска строки и расчёта в ней суммы ....
...
Рейтинг: 0 / 0
Как правильно суммировать в VFP для Excel-отчётов
    #34945023
gotko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проверь какой тип переменной возвращается в m.row?
...
Рейтинг: 0 / 0
Как правильно суммировать в VFP для Excel-отчётов
    #34945122
Vasiliy_Yoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
оно то возвращает N , но суть в том как я понимаю всё равно переведётся в ALLTRIM(STR(m.row))
...
Рейтинг: 0 / 0
Как правильно суммировать в VFP для Excel-отчётов
    #34945161
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Адресация вида RC - это относительная адресация. Количество строк/столбцов относительно текущего положения (текущей ячейки).

Метод Find() возвращает абсолютную адресацию. Т.е. относительно ячейки A1.

Почитай вот это

Указание диапазона ячеек для функции
...
Рейтинг: 0 / 0
Как правильно суммировать в VFP для Excel-отчётов
    #34945175
gotko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй тогда прямую адресацию на диапазон ячеек, вместо косвенной
в стиле R10C13:R20C13 вместо R[-1]C:R[-10]C

или повнимательнее считай смещения относительно m.row
возможно у тебя организуется циклична ссылка, когда адресуешь сумме саму себя...
...
Рейтинг: 0 / 0
Как правильно суммировать в VFP для Excel-отчётов
    #34945254
Vasiliy_Yoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да я уже и так писал : m.oleapp.Cells(m.row,m.col+3).Formula="=SUM(d7:d"+ALLTRIM(STR(m.row))+")"
то есть без относительных ссылок но всё равно не хочет оно работать
...
Рейтинг: 0 / 0
Как правильно суммировать в VFP для Excel-отчётов
    #34945269
Vasiliy_Yoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всё... всем спасибо за помощь , ошибку нашёл - действительно диапазон цеплял ячейку расчёта суммы поэтому он и ругался а теперь всё в порядке ещё раз спасибо..
...
Рейтинг: 0 / 0
Как правильно суммировать в VFP для Excel-отчётов
    #34945285
gotko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m.oleapp.Cells(m.row,m.col+3).Formula="=SUM(d7:d"+ALLTRIM(STR(m.row))+")"
- дык ты и суешь сумму в m.row и диапазон до m.row включительно
попробуй
m.oleapp.Cells(m.row,m.col+3).Formula="=SUM(d7:d"+ALLTRIM(STR(m.row -1 ))+")"
или в дубуггера и анализируй- m.row - может ты улетаешь за пределы листа
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как правильно суммировать в VFP для Excel-отчётов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]