Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.09.2008, 00:10
Vami Vami вне форума
Прохожий
 
Регистрация: 16.09.2008
Сообщения: 1
Репутация: 10
Сообщение Hellp!!! Excel!!!

помогите пожалуйста, я не особо то работаю в екселе, но тут понадобилось. Ситуация такая:
У меня на первом листе таблица с сводными данными, на втором листе у меня, что то вроде отчета (протокола), в котором разные ячейки ссылаются на сводную. Т.е. первый протоколе я сделал определенные формулы и ссылки на сводную страничку на нужную ячейку(вернее на первые пять строк этой таблицы, последующие пять строк для следующего протокола, ну и т.д.), все работает все ОК! Но потом у меня возник вопрос размножить мой отчет на то количество, сколько раз повторяется в сводной таблице ети пять сводных строк с данными для каждого протокола.
Я как сделал: взял просто первый протокол выделил и тупо потянул крестиком в низ, что бы он мне размножил мой протокол, ну и соответственно и все формулы и ссылки, которые я писал в первом. Получилось следующее: протокол то он размножил и формулы то же, но ссылки на ячейки из сводной таблиц е он взял не те которые мне были нужны. Вот что то так: в сводной таблице между нужными ячейками у меня разница в 5 ячеек, а в протоколах у меня между одинаковыми ячейками получается разница в 20 ячеек(т.е. каждая 20 ячейка (одного столбца) протокола мне нужно что бы ссылалась на каждую 5 ячейку (одного столбца) сводных данных, а в реале происходит, что при «растягивании» протокола ячейки ссылаются на каждую 20-ую ячейку сводной таблицы).
Пример:
1) КАК У МЕНЯ ПОЛУЧИЛОСЬ:
СВОДНАЯ ТАБЛИЦА(лист1) ОТЧЕТ(лист2):
a1=1 A5=(лист1!A1)=1 (первый вариант,
который я саполнил в ручную)
A2=7 A10=(лист1!A10)=23 (так получилось после
A3=C A15=(лист1!А15)=34 растягивания)
A4=5 ну и так далее
A5=0,5
A6=S
A7=11
A10=23
A15=34
2) КАК ХОТЕЛОСЬ БЫ:
СВОДНАЯ ТАБЛИЦА(лист1) ОТЧЕТ(лист2):
a1=1 A5=(лист1!A1)=1 первый вариант,
который я саполнил в ручную)
A2=7 A10=(лист1!A3)=8
A3=8 A15=(лист1!А5)=0,5
A4=5 А20=(лист1!А7)=11
A5=0,5 вот а так бы хотелось не вводя все ето в ручную,
A6=S т.е. что бы при тупом растягивании (или еще как
A7=11 ячейки ссылались на нужную ячейку, ну что бы
A10=23 каждая 5-ая ячейка ссылалась на каждую 3-ию, а не
A15=34 на каждую 5-ую
Ответить с цитированием
  #2  
Старый 18.09.2008, 00:46
Аватар для Zander_driver
Zander_driver Zander_driver вне форума
Прохожий
 
Регистрация: 07.03.2008
Сообщения: 29
Репутация: 10
По умолчанию

Вопрос вобще-то не совсем по адресу, такую проблемку удобнее решать через макросы Visual Basic а не через Дельфи.
Второй лист лучше создавать с помощью макроса. Нужен цикл перебирающий строки таблицы, пачками по столько сколько тебе нужно, а в теле цикла - напиши алгоритм выведения формулы для такой-то строки и
Код:
Лист1.Cells[a,b].Formula = <какая тебе нужна формула, создаваемая алгоритмом (не забудь что это строка)>
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:47.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025