Оптимизация работы алгоритма обработки диапазона ячеек 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)