Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Оптимизация времени выполнения цикла For
 
Доброго времени суток!
Одним из действий нужного мне макроса есть удаление всех значений цены, которые отличаются от моды более чем на 20%.
Цены расположены в произвольном кол-ве столбцов. Один столбец - один продукт. В данном случае 13 столбцов по 2000 строк.
Для этого написал такой цикл:
Код
For m = 26 To qcol
    For i = 2 To qrow
        If Sheets("Лист1").Cells(i, m).Value * 0.8 > Sheets("Лист2").Cells(2, m).Value Or Sheets("Лист1").Cells(i, m).Value * 1.2 < Sheets("Лист2").Cells(2, m).Value Then Sheets("Лист1").Cells(i, m).Value = ""
    Next i
Next m
 
qcol - переменная с номером последнего столбца
qrow - переменная с номером последней строки.

В ячейках на Лист2 записаны значения моды для этого продукта, разные для каждого столбца.

Цикл рабочий, однако очень долго выполняется.
Посоветуйте, пожалуйста, как можно добиться такого же результата, но быстрее. Прошу объяснять как для тупых, т.к. это мой первый макрос и с VBA я пока не сильно знаком.
Заранее спасибо.   :)
Страницы: 1
Наверх