|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
||||||
Ускорить работу макроса30.11.2017, 16:27. Показов 6275. Ответов 117
Метки нет (Все метки)
Как ускорить работу скрипта?
0
|
||||||
| 30.11.2017, 16:27 | |
|
Ответы с готовыми решениями:
117
Как ускорить работу макроса Можно ли ускорить работу макроса
|
|
34 / 31 / 1
Регистрация: 06.01.2017
Сообщений: 300
|
|||||||||||
| 06.12.2017, 17:50 | |||||||||||
|
Да я читал, собственно.
Моя реплика, по сути, является ответом на рекомендацию упорядочить массив, в котором ищется нужное значение. Если по какой-то причине нельзя упорядочить, значит надо перебирать. Хотя в голове вертится что-то про индексирование полей. Ну да ладно. Из того, что я увидел - сразу насторожило вот это:
Когда я начинал заполнять таблицы, у меня тоже работали макросы часами. Это, в сущности, тоже неплохо - запустил программу и идёшь пить кофе. Для ускорения операции ввода/вывода надо работать с образами страниц, а не с самими страницами. Для этого надо использовать свойство Value. Примерно вот так:
0
|
|||||||||||
|
oh my god
|
||
| 06.12.2017, 17:54 | ||
|
Всегда найдется отговорка на этот счет
0
|
||
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 06.12.2017, 17:57 [ТС] | |
|
fever brain, не ставлю другие задачи, сейчас я пробую через запросы всё это хозяйство прокрутить. Пока что результат печальный, тк на 10 записях уходит 20 сек. Но это из за костылей. А знающие люди не хотят делиться секретом красоты, чтоб ускорить в 2 раза.
Добавлено через 2 минуты fever brain, не, это не про меня. Нет времени ходить пить кофе. Есть куча параллельных задач. Так что на это отдается 30% производительности компа. Но сроки никто не отменял.
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 06.12.2017, 17:58 | |
|
Мой вариант пробовали? Мне собственно эксперементировать не на чем, т.к. так и не известны условия задачи, и нет собственно файлов (вроде речь шла о csv когда-то...)
0
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 06.12.2017, 17:58 [ТС] | |
|
MU-GK, Value в принципе и используется.
0
|
|
|
oh my god
|
||
| 06.12.2017, 18:04 | ||
|
кроме того можно отключить реакцию листа и прочие фитчи сделать Сейчас решается задача #1 это прикрутить твои данные к коду с коллекциями мне как и Hugo121, экспериментировать не на чем более того я сам сгенерировал данные на двух листах чтоб хоть както это показать
0
|
||
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 06.12.2017, 18:09 [ТС] | |
|
Hugo121, нет ещё. Как только с запросами домучаюсь займусь вашими предложениями. Экспериментировать есть на чем. Создать 500к записей циклом с 12 рандомами не сложно. Принцип я описывал, где мои косяки тоже рассказал.
0
|
|
|
34 / 31 / 1
Регистрация: 06.01.2017
Сообщений: 300
|
|
| 06.12.2017, 18:20 | |
|
Так Вы, всё-таки, сделайте техническое ускорение — принципиально откажитесь от записи/чтения в ячейки, пользуйтесь только образами, пичем обращами стра н ицы в целом, ну и, как тут советуют, отключите реакции листов.
Прогоните тот алгоритм, что есть сейчас, посмотрите, как там записывается. Или Вы уже делали тайминг?
0
|
|
|
oh my god
|
||||||
| 06.12.2017, 20:12 | ||||||
|
Меня конечно никто не просил
Так-уж и быть проявлю инициативу вот эти фичи: Максимальное ускорение работы макросов из под EXCEL
2
|
||||||
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 06.12.2017, 20:17 [ТС] | |
|
fever brain, полезно. Пригодится. Но это больше пригодится для работы с ячейками наверное?
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 06.12.2017, 20:25 | |
|
С калькуляцией в реальной работе правильнее сперва запомнить как было, затем переключить в мануально, затем в конце вернуть как было!
0
|
|
|
oh my god
|
|||||||
| 06.12.2017, 20:57 | |||||||
|
выводить то результаты мне по любому в ячейки придется Вот я изменил код, про калькуляцию тоже учел
Работает намного быстрее, но лист во время выполнения ни на что не реагирует и приходящих записей не видно только в конце выполнения все отображается на листе Проверка массива 10x100 по массиву 20x200 по времени заняло пол секунды.
1
|
|||||||
|
34 / 31 / 1
Регистрация: 06.01.2017
Сообщений: 300
|
|
| 06.12.2017, 21:02 | |
|
Вы используете Value поячеечно, рекомендую использовать это свойство для ранга, чтобы сбрасывать не по одному значению, а сразу массивами.
1
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
||
| 06.12.2017, 21:04 [ТС] | ||
|
fever brain,
Добавлено через 1 минуту MU-GK, поддерживаю обеими руками
0
|
||
|
oh my god
|
||||||||||||||||
| 06.12.2017, 21:14 | ||||||||||||||||
|
Так чтоли ?
Изменил с учетом пожеланий
0
|
||||||||||||||||
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 06.12.2017, 21:22 [ТС] | |
|
fever brain, ну предпологалось, что все листы в памяти будут. То есть лист2 и лист3 в память, работаем с ними ипосле всех манипуляций итог выгружается на лист1. В результате, никаких ускорителей не надо, кроме замораживания интерфейса, который скроет момент заполнения ячеек на листе1.
0
|
|
|
34 / 31 / 1
Регистрация: 06.01.2017
Сообщений: 300
|
||||||
| 06.12.2017, 21:25 | ||||||
|
Не в разы а на несколько порядков быстрее.
На лист надо только сбрасывать готовый результат. Вернее, сначала снять с листа (листов) данные, проделать необходимые данные и сбросить результаты на лист (листы). особенно этот эффект заметен на больших табюлицах. Попробуйте сравнить время выполнения: Кликните здесь для просмотра всего текста
Книга с двумя пустыми листами A и И, на которые записываем созданный массив M*N. Одна функция записывает по ячейкам, другая массивом. При M = 500/ N = 200 Время работы Fill Cells 2,734375 Fill Value 0,09375 При M = 1000/ N = 500 Время работы ll Cells 13,6171875 Fill Value 0,328125 Обратите внимание, что при увеличении объема выводимых данных разница во времени становится существенно больше и в абсолютном и в относительном выражении
1
|
||||||
|
oh my god
|
|||
| 06.12.2017, 21:32 | |||
|
Я там прокоментировал что лист3 итак уже в памяти коллекции, а лист2 я перенес в массив arr
1
|
|||
| 06.12.2017, 21:32 | |
|
Ускорить код макроса Ускорить действие макроса переноса данных на другой лист
Как ускорить работу пользовательской функции с диапазонами Как прекратить работу макроса? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|