|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.01.2010, 18:15 | #1 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Собственная функция поиска тормозит Эксель
Добрый день!
Смысл в следующем: - на листе Data есть список котировок ценных бумаг - на листе Trading с помощью собственной функции поиска, помещенной в отдельном модуле, формируется таблица. Функция: Код:
И получается, что при редактировании любой ячейки этой книги (да и другой тоже), моя функция начинает все пересчитывать, что занимает время. Как оптимизировать функцию, или как сделать, чтоб она срабатывала только при изменении данных на листе Trading??? Код:
|
19.01.2010, 19:23 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Возможно так,что бы не отключать и подключать пересчет формул
Код:
Код:
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 19.01.2010 в 19:32. |
20.01.2010, 09:57 | #3 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Разместил
Код:
функцию оставил где была (в модуле1). Получилось следующее: при редактировании любой ячейки Книги, пересчет все равно происходит, но функция уже вставляет не выбранные с Листа Data значения, а нули |
20.01.2010, 10:42 | #4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Код:
Код:
Если Код:
Анализ,обработка данных Недорого
|
20.01.2010, 10:51 | #5 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
Другое дело, что она тут же будет заканчивать свою работу, возвращая 0... Я бы порекомендовал использовать один из сделующих вариантов: 1) Временно отключать автоматический пересчёт формул 2) Заменить пользовательскую функцию стандартными (ВПР + СМЕЩ) - наверняка, работать будет быстрее. |
|
20.01.2010, 11:15 | #6 | |||
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Цитата:
Цитата:
Разобрался Application.Calculation = xlManual Цитата:
Последний раз редактировалось Maxx; 20.01.2010 в 11:17. |
|||
20.01.2010, 12:31 | #7 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Сделал так:
модуль Листа Trading Код:
Код:
Но вопрос с формулами ВПР и пр. остается открытым, хотя я думаю - это сложно! EducatedFool, doober СПАСИБО! |
20.01.2010, 15:46 | #8 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
И все же я сделал это формулами.
Вот решение, кому интересно: |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
С++. Строки. Собственная реализация стандартной функции itoa. | |arch| | Помощь студентам | 0 | 25.11.2009 00:04 |
Нужна функция поиска в строке | Kib | Общие вопросы Delphi | 3 | 19.04.2009 21:05 |
Собственная операционная система | kraftwerk | Помощь студентам | 0 | 15.04.2009 15:36 |
Собственная компонента: будильник | redred | Компоненты Delphi | 1 | 13.05.2008 06:48 |
функция поиска в диапазоне | Neonoff | Microsoft Office Excel | 1 | 18.02.2008 03:52 |