Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Медленно формируется отчет в Excel, может изменить логику формирования отчет 
V
    Опции темы
slang
Дата 25.7.2006, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: нет
Всего: 0



Суть в следующем...
Есть книга, в ней несколько листов, в том числе: база автомобилей, база клиентов, база номенклатуры, отчет (это несколько в упрощенном виде, но суть будет понятна)
На листе отчет необходимо отобразить следующую информацию:
Автомобиль (берется с листа база автомобилей)
Клиент (берется с листа база клиентов)
список номенклатуры (берется с листа база номенклатуры)
В качестве ключа для соотношения автомобиль-клиент-номенклатура используется столбец A
Я сделал следующим образом:
делаю цикл
For i = 1 to 65000
 - из База автомобилей, читаю ячейку Аi, если не пустая, то заношу эту
 строку в отчет
 - ищу клиента:
  For i1 = 1 to 65000
   - если Ai1 = Ai тогда заношу информацию о клиенте
   - иначе если Ai1 = "", тогда i1 = 65000
  Next i1
 - ищу номенклатуру
  For i1 = 1 to 65000
   - если Ai1 = Ai тогда заношу информацию о номенклатуре
   - иначе если Ai1 = "", тогда i1 = 65000
  Next i1
Next i
Все вроде предельно просто, однако, если в базе номенклатуры 5-10 наименований, тогда еще терпимо, но если там даже 100 наименований, то последние строки отчета формируются так долго, что нет слов. А если это использовать в реальности, тогда количество номенклатуры будет как минимум около 5-6 тысяч строк, как Вы сами понимаете, так нельзя. Подскажите, умные люди, есть ли в Excel какая нибудь фишка, типа как WHERE A = ключ в SQL? Может так будет скорее или посоветуйте, как преобразовать заполнение запроса. Там еще и форматирование применяется для каждой новой введенной строки, но оно и то меньше занимает времений.
Заранее благодарен. 


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
Alexandr87
Дата 26.7.2006, 06:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 2
Всего: 39



Гы, необходимо использовать бинарный поиск по отсортированному столбцу. 
http://forum.vingrad.ru/index.php?showtopi...st&p=642838 

Это сообщение отредактировал(а) Alexandr87 - 26.7.2006, 06:31
PM Jabber   Вверх
slang
Дата 29.7.2006, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: нет
Всего: 0



Alexandr87, на самом деле, несколько проще, по крайней мере мне так показалось, использовать Сортировку листов и Find/FindNext. И все в этом случае не плохо работает. 


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.