powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / !!!Помогите, пожалуйста!!!!
11 сообщений из 11, страница 1 из 1
!!!Помогите, пожалуйста!!!!
    #36174822
Tancha-p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В программе есть выгрузка отчета в Excel. Как посчитать сумму столбца?
for i = 0 to n
SCAN
ole2.Cells(i+4,1).Value =tar.KodGr
ole2.Cells(i+4,2).Value =tar.Nm
ole2.Cells(i+4,3).Value = tar.Cena
ole2.Cells(i+4,4).Value=tar.Summa
ole2.Cells(i+4,5).Value=tar.NPL
ole2.Cells(i+4,6).Value=tar.NDS
DO cellbord WITH i+4,1
DO cellbord WITH i+4,2
DO cellbord WITH i+4,3
DO cellbord WITH i+4,4
DO cellbord WITH i+4,5
DO cellbord WITH i+4,6
i=i+1
EndScan
Endfor
...
Рейтинг: 0 / 0
!!!Помогите, пожалуйста!!!!
    #36174892
Tancha-p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Например, столбца Summa и вывести результат в конце таблицы
...
Рейтинг: 0 / 0
!!!Помогите, пожалуйста!!!!
    #36175032
Peisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tancha-pВ программе есть выгрузка отчета в Excel. Как посчитать сумму столбца?


А чего в коде-то твориться???
...
Рейтинг: 0 / 0
!!!Помогите, пожалуйста!!!!
    #36175217
Tohan_ORA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tancha-pВ программе есть выгрузка отчета в Excel. Как посчитать сумму столбца?
for i = 0 to n
SCAN
ole2.Cells(i+4,1).Value =tar.KodGr
ole2.Cells(i+4,2).Value =tar.Nm
ole2.Cells(i+4,3).Value = tar.Cena
ole2.Cells(i+4,4).Value=tar.Summa
ole2.Cells(i+4,5).Value=tar.NPL
ole2.Cells(i+4,6).Value=tar.NDS
DO cellbord WITH i+4,1
DO cellbord WITH i+4,2
DO cellbord WITH i+4,3
DO cellbord WITH i+4,4
DO cellbord WITH i+4,5
DO cellbord WITH i+4,6
i=i+1
EndScan
Endfor
Попробуйте поиграться с этим вариантом,может быть поможет:
Код: plaintext
1.
2.
3.
select mytable
loSheet=ole2
m.loSheet.Cells(rowcount+N+ 4 + 1 , 5 ).Formula=;
"=SUM("+m.loSheet.Cells( 4 , 4 ).Address +":"+m.loSheet.Cells(rowcount+N+ 4 , 4 ).Address +")"
...
Рейтинг: 0 / 0
!!!Помогите, пожалуйста!!!!
    #36175251
Tancha-p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tohan_ORA,
пока не могу сделать, не получается
...
Рейтинг: 0 / 0
!!!Помогите, пожалуйста!!!!
    #36175600
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tancha-p,
может я дико ошибаюсь (не проверял - просто догадка), но попробуйте

m.loSheet.Cells(rowcount+N+4+1,5).Formula=;
"= СУММ ("+m.loSheet.Cells(4,4).Address +":"+m.loSheet.Cells(rowcount+N+4,4).Address +")"
...
Рейтинг: 0 / 0
!!!Помогите, пожалуйста!!!!
    #36175623
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir,

Если не вдаваться в исправность кода, то делать нужно это по традиции,
примерно так:

sum1 = 0
scan
.....
sum1 = sum1 + tar.Summa
....
endscan

ole2.Cells(нужнаястрока,нужнаяколонка).Value=Sum1

и т.п.
...
Рейтинг: 0 / 0
!!!Помогите, пожалуйста!!!!
    #36175953
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirTancha-p,
может я дико ошибаюсь (не проверял - просто догадка), но попробуйте

m.loSheet.Cells(rowcount+N+4+1,5).Formula=;
"= СУММ ("+m.loSheet.Cells(4,4).Address +":"+m.loSheet.Cells(rowcount+N+4,4).Address +")"
1. Из макросов (и OLE) в формулах можно использовать только англоязычные эквиваленты.
"СУММ" не канает, надо использовать "SUM".
2. Address возвращает адрес ячейки в текущем формате адресации. При автоматизации удобнее (и желательнее) использовать формат адресации RC.

Не претендую на корректность самой формулы (чаще всего использую подобный подход):
Код: plaintext
1.
2.
m.loSheet.Cells(rowcount+N+ 4 + 1 , 5 ).FormulaR1C1=;
TEXTMERGE("=SUM(R[-<<RECCOUNT()>>]C:R[-1]C)")
...
Рейтинг: 0 / 0
!!!Помогите, пожалуйста!!!!
    #36175994
Tancha-p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем БОЛЬШОЕ!!! Ваши советы мне очень помогли! Все получилось
...
Рейтинг: 0 / 0
!!!Помогите, пожалуйста!!!!
    #36177605
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kruchinin Pahan1. Из макросов (и OLE) в формулах можно использовать только англоязычные эквиваленты.
"СУММ" не канает, надо использовать "SUM". Спасибо за сведения, у меня просто был эксель под рукой, так вот он SUM вообще не воспринимал как функцию (русифицированный был), вот я и предположил.
...
Рейтинг: 0 / 0
!!!Помогите, пожалуйста!!!!
    #36178058
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirKruchinin Pahan1. Из макросов (и OLE) в формулах можно использовать только англоязычные эквиваленты.
"СУММ" не канает, надо использовать "SUM". Спасибо за сведения, у меня просто был эксель под рукой, так вот он SUM вообще не воспринимал как функцию (русифицированный был), вот я и предположил.
Это проблема локализации.
В интерфейсе на листах работают только формулы на национальном языке (если они были переведены). А из средств автоматизации, почему-то только англоязычные.

Более того, различается и алфавит формул. В русском интерфейсе разделитель параметров функции будет ";" (точка с запятой), а из макроса - "," (запятая).

Например, в интерфейсе:
=ЕСЛИ(ИСТИНА;1;2)
А в макросах:
=IF(True,1,2)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / !!!Помогите, пожалуйста!!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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