Медленная вставка изображений в отчет > 3000 значений - VB

Узнай цену своей работы

Формулировка задачи:

Добрый день!

Ситуация такая:

есть рабочая книга Excel 2007, в которой в определенном столбце хранятся коды товаров. На локальном диске лежит папка с изображениями каждого товара, если код товара оncутствует в названии картинки, то вместо нее вставляется картинка "Нет фото".

Проблема:

отчет отрабатывает очень долго, 6-8 минут. Есть список кодов > 3 000 товаров, для каждого товара вставляется картинка. Изображение само по себе небольшое, уменьшать уже некуда.

Вес изображения:

1,5-2 Кб

Размер:

61х39 пикселей.
Отключил перерисовки объектов на экране, чтобы ничего не мигало, отключил вычисления формул и прочее. Время отработки немного уменьшилось, НО, по мере вставки картинок, скорость все меньше и меньше. Мне кажется, проблема в том, что я обращаюсь к каждой ячейке в рабочей книге используя цикл While. Просто обычный перебор кодов и 2 условия на вставку. Как можно существенно ускорить процесс вставки изображений? Может нужно каким-то образом использовать массивы?
Код на VBA очень простой. Один цикл While и два условия.

Решение задачи: «Медленная вставка изображений в отчет > 3000 значений»

textual
Листинг программы
ActiveSheet.Shapes.SelectAll
Selection.Delete

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы