Оптимизация работы алгоритма обработки диапазона ячеек Excel - VB
Формулировка задачи:
Всем привет!
Для документа xls (97-2003) написал код макроса, который для каждого листа документа обрабатывает строки по следующим условиям:
- если в столбцах A, B, C текущей строки ячейки пустые, то убираем верхнюю границу в ячейках этих столбцов у этой строки;
- если в столбце D текущей строки ячейка заполнена словом "Всего", то делаем шрифт этой ячейки полужирным у этой строки.
Алгоритм следующий:
Сильно не пинайте, только начал осваивать VBA.
Вопрос вот в чём: можно ли как-то оптимизировать (ускорить выполнение) данный код?
В xls документе бывает очень много строк (65000 и больше), да ещё и не на одном листе.
Может как-то можно выделять весь диапазон строк для столбцов A, B, C, D и по условиям вносить изменения в нужных ячейках диапазона, а не перебирать строки диапазона по-порядку?
Для документа xls (97-2003) написал код макроса, который для каждого листа документа обрабатывает строки по следующим условиям:
- если в столбцах A, B, C текущей строки ячейки пустые, то убираем верхнюю границу в ячейках этих столбцов у этой строки;
- если в столбце D текущей строки ячейка заполнена словом "Всего", то делаем шрифт этой ячейки полужирным у этой строки.
Алгоритм следующий:
Сильно не пинайте, только начал осваивать VBA.
Вопрос вот в чём: можно ли как-то оптимизировать (ускорить выполнение) данный код?
В xls документе бывает очень много строк (65000 и больше), да ещё и не на одном листе.
Может как-то можно выделять весь диапазон строк для столбцов A, B, C, D и по условиям вносить изменения в нужных ячейках диапазона, а не перебирать строки диапазона по-порядку?
Решение задачи: «Оптимизация работы алгоритма обработки диапазона ячеек Excel»
textual
Листинг программы
For lCurRow = 13 To lLastRow Cells(lCurRow, 1) Cells(lCurRow, 4)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д